Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]SQL Injection i przerobienie skryptu, Przerobienie małego skryptu...
Dukov
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 21.03.2017

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


Hejka, spotkałem się ostatnio z nieprzyjemną sytuacją i straciłem calutką bazę danych, już to w zasadzie naprawiłem, tylko mam pewien problem, ktoś ma pomysł jak przerobić ten skrypt, żeby znów działał?
  1. function checkExists($login,$mail){
  2.  
  3. try{
  4. $conn = new PDO("mysql:host=localhost;dbname=wojtecki", 'root', '');
  5. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6. $stmt = $conn->prepare("SELECT count(*) FROM users WHERE login = ':login'");
  7. $stmt->execute(array(':login' => $login));
  8. $row = $stmt->fetch();
  9. $result = $row[0];
  10.  
  11. $check;
  12.  
  13. if($result <> 1){
  14.  
  15. $check = true;
  16.  
  17. }
  18. else
  19. {
  20. return 0;
  21. }
  22. $stmt = $conn->prepare("SELECT count(*) FROM users WHERE mail =':mail'");
  23. $stmt->execute(array(':mail' => $mail));
  24. $row = $stmt->fetch();
  25. $result = $row[0];
  26.  
  27. if($result <> 1){
  28.  
  29. $check = true;
  30.  
  31. }
  32. else
  33. {
  34. return 0;
  35. }
  36.  
  37. if ($check == true) {
  38. return 1;
  39. }
  40. $conn = null;
  41.  
  42.  
  43. }
  44. catch(PDOException $e){
  45. $e ->getMessage();
  46. echo $e;
  47. }
  48.  
  49.  
  50. }


Wcześniej sprawdzal czy istnieje już taki mail albo login w bazie i zwracał zero, jeśli znalazł użytkownika, jeśli do zmiennej check dodawał 1 i ją zwracał. Teraz oczywiście nie działa.
Zmieniłem tylko te dwie linijki
  1. $stmt = $conn->prepare("SELECT count(*) FROM users WHERE login = ':login'");
  2. $stmt->execute(array(':login' => $login));


Oczywiście w sprawdzeniu maila też takie dwie linijki zmieniłem.

Ten post edytował Dukov 8.08.2017, 14:26:29
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: 22.08.2025 - 01:32