Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z kombinacją zmiennej.
w0jt3k
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 29.09.2013

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


Czy taka kombinacja zmiennej jest poprawna i zostanie zinterpretowana przez serwer poprawnie? Głównie chodzi o ochronę przed SQLInjection.

  1. $nazwa_uz = addslashes((string)trim($_POST['nazwa_uz']));


Czy może powinno to wyglądać tak?
  1. $nazwa_uz = addslashes($nazwa_uz);
  2. }
  3. $nazwa_uz = (string)$_POST['nazwa_uz'];
  4. $nazwa_uz = trim($_POST['nazwa_uz']);


Albo jeszcze inaczej wymyśliłem:
  1. $nazwa_uz = addslashes($_POST['nazwa_uz']);
  2. $nazwa_uz = addslashes($nazwa_uz);
  3. $nazwa_uz = (string)$_POST['nazwa_uz'];
  4. $nazwa_uz = (string)$nazwa_uz;
  5. $nazwa_uz = trim($_POST['nazwa_uz']);
  6. $nazwa_uz = trim($nazwa_uz);
  7. }
  8. else
  9. {
  10. $nazwa_uz = (string)$_POST['nazwa_uz'];
  11. $nazwa_uz = trim($_POST['nazwa_uz']);
  12. $nazwa_uz = trim($nazwa_uz);
  13. }


Czy to jest poprawne?

Ten post edytował w0jt3k 30.09.2013, 20:43:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
w0jt3k
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 29.09.2013

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


Zrezygnowałem z PDO, bo mnie dosłownie wkur... to, ze nie ma zaimplementowanych wielu funkcji z Mysqli.

Czy taki kod jest dobrze zabezpieczony? Niby kolega wyżej mówił, że addslashes nie potrzeba, przy int, no, ale... na wszelki wypadek:

  1. $wynik = $lacz->query("select * from uzytkownicy where email='". $nazwa_uz_l ."' and haslo = '". $haslo_l ."' ");
  2.  
  3. $nazwa_uz_l = $lacz->real_escape_string($nazwa_uz_l);
  4. $nazwa_uz_l = addcslashes($nazwa_uz_l, '%_');
  5. $nazwa_uz_l = addslashes($nazwa_uz_l);
  6. $nazwa_uz_l = (int)$nazwa_uz_l;
  7.  
  8. $haslo_l = $lacz->real_escape_string($haslo_l);
  9. $haslo_l = addcslashes($haslo_l, '%_');
  10. $haslo_l = addslashes($haslo_l);
  11. $haslo_l = (int)$haslo_l;


Nie czepiać się kodowania md5/sha przy haśle (IMG:style_emoticons/default/tongue.gif) To dla testu kod.
(IMG:style_emoticons/default/smile.gif)

I jeszcze jedno pytanie. Jak zabezpieczyć pusty VALUE id_uz
  1. VALUES (''
w:

  1. $wynik = $lacz->query("INSERT INTO uzytkownicy (id_uz, haslo, email, pytanie_pomoc) VALUES ('','".$haslo."', '".$email."', '".$pytanie_pomoc."') ");


Wiersz w bazie w tym miejscu mam unsigned auto increment primary key int wiec wiecie dlaczego puste.

Ten post edytował w0jt3k 16.10.2013, 15:36:31
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 29.12.2025 - 11:08