Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obszerniejsza rejestracja, Lepsza czy gorsza
Tho
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


Zainteresowałęm się innym sposobem rejestracji, po tym jak poprzedni się nie sprawdzał, nowy, za którego się zabrałem zawiera zdecydowanie więcej kodu, który wydaje się być bardziej bezpiecznym, nie tylko dzięki recaptcha, ale też dzięki filtracji wprowadzanych danych. Mam rację? (IMG:style_emoticons/default/wink.gif)

Poza tym, tak na marginesie:

Zainstalowałem wszystko jak się należy wydawało by się, ale po wysłaniu formularza pojawia się:

Cytat
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxx/domains/xxx.pl/public_html/r/rejestracja.php on line 32

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/inf/domains/xxxx.pl/public_html/r/rejestracja.php on line 50


Linie:

32:
  1. if (mysql_num_rows($wynik) <> 0) {


50:
  1. if (mysql_num_rows($wynik) <> 0) {


Co nie tak z tymi linijkami?

Dzisiejszy cały dzień poświęciłem praktycznie na to "prostą" sprawę rejestracji i nie odpuszczę póki tego nie zrobię, za dużo czasu już na to zmarnowałem...

Ten post edytował Tho 27.10.2011, 19:02:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Trochę pojadę, ale to żeby było lepiej. Wszystko fajnie, tylko, że "Wasz system" niestety nie korzysta z PDO, więc odporny na sql injection nie jest, pomimo użycia takich potworków:
  1. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  2. $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
  3. $imie = htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
  4. $nazwisko = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);


  1. eregi("^[a-zA-Z0-9_.]+$", $login))

fail (zdeprecjonowane, użyj preg_match)


Po co tak sprawdzasz maila?
if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {

Użyj filtrów

Hasła przydałoby się posolić dla smaku (IMG:style_emoticons/default/wink.gif) i zwiększenia bezpieczeństwa. Dlaczego to nie jest napisane obiektowo? Ogólnie sieka jak mało która i właściwie nie ma tu nic ciekawego do oceny. Poza tym po co aż tak długie pola na imię i nazwisko (`imie` VARCHAR(100) NOT NULL, `nazwisko` VARCHAR(100) NOT NULL) ?

// edit

aa @topic: debugguj (IMG:style_emoticons/default/smile.gif)

Ten post edytował darko 27.10.2011, 19:44:50
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 12:37