Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Zabezpieczenie danych pochodzących z formularza
Forum PHP.pl > Forum > Przedszkole
Woytek950
Witam. Czy dobrze zabezpieczyłem skrypt...?

Kod
  $haslo = sha1(md5(mysql_real_escape_string(trim(addslashes($_POST['haslo'])))));
                       $login =  addslashes(trim($_POST['login']));
                       $email =  addslashes(trim($_POST['email']));


Mógłby ktoś mi objśnić jak zrobić:

aby login, hasło musiły mieć więcej niż 3 znaki;

aby sprawdzalo poprawność emailal;

i ogólnie jakieś porady dotyczące bezpieczeństwa skryptu

będę bardzo wdzięczny exclamation.gif!

dziękuje z góry i pozdrawiam
Fifi209
Cytat(Woytek950 @ 22.07.2009, 18:38:59 ) *
Witam. Czy dobrze zabezpieczyłem skrypt...?

Kod
  $haslo = sha1(md5(mysql_real_escape_string(trim(addslashes($_POST['haslo'])))));
                       $login =  addslashes(trim($_POST['login']));
                       $email =  addslashes(trim($_POST['email']));


Mógłby ktoś mi objśnić jak zrobić:

aby login, hasło musiły mieć więcej niż 3 znaki;

aby sprawdzalo poprawność emailal;

i ogólnie jakieś porady dotyczące bezpieczeństwa skryptu

będę bardzo wdzięczny exclamation.gif!

dziękuje z góry i pozdrawiam


Nie hashuje się dwa razy - czemu? Było o tym.
Poczytaj jak działa mysql_real_escape_string i potem zastanawiaj się czy używać addslashes

Co do pytania o login, hasło i email (poprawność) to wyrażenia regularne.

Ogólne porady: własny system sesji
mac_fly
Aby ustawić limit znaków to dajesz pętle if bądź inną, np:
  1. <?php
  2. $haslo2 = strlen($haslo);
  3. if($haslo2<3)
  4. {
  5. echo"Hasło musi zawierac najmniej 3 znaki";
  6. }
  7. ?>

login robisz tak samo.
Odnośnie maila użyj np, coś takiego:
  1. <?php
  2. if(!eregi("^([a-z0-9_-]+([.a-z0-9_-]+)*)@([a-z0-9_-]{1,}(.[a-z0-9_-]{1,})*.[a-z]{2,3})$",$email))
  3. {
  4. echo "Error";
  5. }
  6. ?>

albo innej funkcji która sprawdza po znakach:strpos
Pawel_W
Cytat
Aby ustawić limit znaków to dajesz pętle if bądź inną, np:


pętlę? if to instrukcja warunkowa...
Wicepsik
Cytat(mac_fly @ 22.07.2009, 19:46:45 ) *
Aby ustawić limit znaków to dajesz pętle if bądź inną, np:
  1. <?php
  2. $haslo2 = strlen($haslo);
  3. if($haslo2<3)
  4. {
  5. echo"Hasło musi zawierac najmniej 3 znaki";
  6. }
  7. ?>

login robisz tak samo.
Odnośnie maila użyj np, coś takiego:
  1. <?php
  2. if(!eregi("^([a-z0-9_-]+([.a-z0-9_-]+)*)@([a-z0-9_-]{1,}(.[a-z0-9_-]{1,})*.[a-z]{2,3})$",$email))
  3. {
  4. echo "Error";
  5. }
  6. ?>

albo innej funkcji która sprawdza po znakach:strpos


Lepiej użyć preg_match" title="Zobacz w manualu PHP" target="_manual, ponieważ eregi nie będzie w PHP6
Woytek950
Mam jeszcze jeden problem...

Chcę aby poprawność email i hasło sprawdzane było w tym samym momęcie. jak to zrobić?

dla zobrazowania

...
Kod
 if (!empty($pass))
                   { cos tam...}

else                      {
                          echo"nie wpisałes hasła !";
                      }
                    
if (!empty($email))
                   { cos tam...}

else                      {
                          echo"nie wpisałes meila !";
                      }



jezeli te 2 warunki sie spelnia przejdz dalej... ale oczywiscie warunek nie będzie  sie konczył na !empty
mac_fly
  1. <?php
  2. if(!empty($pass)&& !empty($email))
  3. {
  4. echo"Cos tam";
  5. }
  6. else
  7. {
  8. echo"Nie wpisałes hasła bądź maila";
  9. }
  10. ?>
Woytek950
Cytat(mac_fly @ 22.07.2009, 20:45:54 ) *
  1. <?php
  2. if(!empty($pass)&& !empty($email))
  3. {
  4. echo&#092;"Cos tam\";
  5. }
  6. else
  7. {
  8. echo&#092;"Nie wpisałes hasła bądź maila\";
  9. }
  10. ?>

Przeciez napisałem:


"jezeli te 2 warunki sie spelnia przejdz dalej... ale oczywiscie warunek nie będzie sie konczył na !empty" - będzie bardziej rozbudowny







Chodzi mi o to że np. mam sprawdzanie poprawnosci emaila, to jak email jest poprany przejdz dalej i sprawdz haslo, jak haslo jest ok to sprawdz nick itd

A jak zrobić aby sprawdzał wszystko na raz i ewentualnie pokazywał blędy 
Pawel_W
powiedz dokładnie co chcesz, bo w ciemno nie możemy napisać ci skryptu, btw przecież instrukcja warunkowa to podstawy...
Woytek950
Czy addslashes dodać po usunięciu spacji czy przed?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.