Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO] Filtrowanie danych do połączenia z bazą
Inscure
post 5.02.2013, 13:55:26
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

Ostrzeżenie: (0%)
-----


Witam,

Kod
$dsn = "mysql:host=$db_host;dbname=$db_name;port=$db_port;charset=$charset";
$pdo = new Data($dsn, $db_user, $db_pass);


Zmienne pochodzą z formularza i zakładamy że nie są filtrowane. Czy stanowi to zagrożenie dla bazy danych?
Stripowanie hasła odpada bo może mieć znaki specjalne. Natomiast zmuszanie do podawania w CMS-ie hasła alfanumerycznego to też niezbyt dobry pomysł.

Ten post edytował Inscure 5.02.2013, 13:56:15


--------------------
eXtreme-Fusion CMS - polski, darmowy system zarządzania treścią z rozbudowanym wsparciem technicznym.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Piotrbaz
post 5.02.2013, 14:12:31
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 2
Dołączył: 15.09.2012

Ostrzeżenie: (0%)
-----


Pewnie, że stanowi zagrożenie.

http://php.net/manual/pl/pdostatement.bindvalue.php
http://blog.albitos.eu/2008/12/26/kurs-pdo...arametrow-cz-1/

Ten post edytował Piotrbaz 5.02.2013, 14:13:01


--------------------
$piotrbaz->get_Signature();
Go to the top of the page
+Quote Post
Crozin
post 5.02.2013, 14:17:15
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Host, port oraz nazwa bazy danych mają dosyć dokładne formaty, które możesz sprawdzić.
2. Kodowanie znaków... przewidujesz możliwość skorzystania z czegoś innego, niż któryś z UTF-ów?
3. Popsucie czegoś przy pomocy użytkownika bądź hasła w tym wypadku będzie możliwe wyłącznie w przypadku jakiegoś wewnętrznego błędu w PDO - raczej jest to bezpieczne.
Go to the top of the page
+Quote Post
Inscure
post 5.02.2013, 15:27:26
Post #4





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

Ostrzeżenie: (0%)
-----


Piotrbaz - nie o tym mowa. Doczytaj w ogóle do czego jest to co podałeś smile.gif

Charset jest narzucony z góry, czyli nie ma problemu. Zostaje reszta. Co do przewidywania wartości to chciałbym tego uniknąć bo jest na prawdę mnóstwo hostingów i niektóre mają dziwactwa których nie sposób znać. Wydaje mi się, że tutaj nie ma możliwości połączenia się z bazą nie znając prawidłowych danych wykorzystując niefiltrowanie zmiennych. Dlatego chyba pójdę za Twoją radą i zostawię je bez stripowania. Ciekawy jednak jestem, jak zostało to zrobione w Drupalu czy jakim FW z instalatorem?


--------------------
eXtreme-Fusion CMS - polski, darmowy system zarządzania treścią z rozbudowanym wsparciem technicznym.
Go to the top of the page
+Quote Post
Crozin
post 5.02.2013, 16:07:43
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1.
Cytat
Ciekawy jednak jestem, jak zostało to zrobione w Drupalu czy jakim FW z instalatorem?
Przecież możesz pobrać ten projekt i podejrzeć jego rozwiązanie.
2. Jeżeli to ma być jakiś uniwersalny instalator miej na uwadze, że połączenie może odbywać się nie tylko na podstawie hostu i portu, ale również socketu (http://php.net/manual/en/ref.pdo-mysql.connection.php).
3. Jeżeli wspierasz bazy inne niż MySQL pamiętaj o tym, że każdy sterownik ma własne właściwości w DSN-ie.

PS. To nie ma najmniejszego związku z OOP.

Ten post edytował thek 5.02.2013, 21:54:38
Powód edycji: [thek]: Myślę podobnie... Dział PHP pasuje jak ulał .
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:11