Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PDO zabezpieczenia ?
smiady
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


Witam.

Mam pytanie odnośnie PDO i wstrzykiwania kodu.
Otóż mam taki fragment:

  1. $db= new PDO('mysql:host=localhost;dbname=test', 'root', '');
  2.  
  3. $sql= "SELECT id FROM uzytkownicy WHERE login= :login AND haslo= :haslo";
  4. $login= $db->prepare($sql);
  5.  
  6. $login->execute(array(':login' => $_REQUEST['login'],
  7. ':haslo' => $_REQUEST['haslo']));
  8. if($login->fetch()) echo 'zostałeś zalogowany !';
  9. else echo 'niestety nie zostałeś zalogowany !';


i gdy w loginie wpisuje np test' -- (po myślnikach jeszcze spacja) to nie da się zalogować, a w przypadku mysqli bez użycia real_escape_string już da.
Myślałem, że bindValue ma zabezpieczenia, a czy execute je też tworzy ? czy w przypadku PDO kod się inaczej wstrzykuje - jeśli tak to jak ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smiady
post
Post #2





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


Mówicie, że z bindValue należy korzystać, bo określasz czego się spodziewasz, więc zrobiłem test

  1. $sql= "INSERT INTO liczby(liczba1, liczba2, liczba3) VALUES(:liczba1, :liczba2, :liczba3)";
  2. $liczby= $db->prepare($sql);
  3.  
  4. $liczby->execute(array(':liczba1' => $_REQUEST['liczba1'],
  5. ':liczba2' => $_REQUEST['liczba2'],
  6. ':liczba3' => $_REQUEST['liczba3']));


gdzie liczba1 to int, liczba2 to double, liczba3 to string. Podaje liczby i nie ma problemu zapisuje w bazie, więc w sumie zastanawiam się nad sensem stosowania bindValue.
Jak np podam test, test, test to zapisze 0, 0, test, jak 1test, 2test, 3test to zapisze 1, 2, 3, czyli w sumie execute ładnie parsuje.

Ten post edytował smiady 26.06.2014, 20:12:21
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 16.10.2025 - 06:04