Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Zabezpieczenie danych pochodzących z formularza
Woytek950
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


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


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Pawel_W
post
Post #3





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


poprawność email -> preg_match()" title="Zobacz w manualu PHP" target="_manual
login i hasło -> strlen()" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
mac_fly
post
Post #4





Grupa: Zarejestrowani
Postów: 46
Pomógł: 18
Dołączył: 11.08.2008
Skąd: 127.0.0.1

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


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

Ten post edytował mac_fly 22.07.2009, 18:48:14
Go to the top of the page
+Quote Post
Pawel_W
post
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat
Aby ustawić limit znaków to dajesz pętle if bądź inną, np:


pętlę? if to instrukcja warunkowa...
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


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


--------------------
Go to the top of the page
+Quote Post
Woytek950
post
Post #7





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


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

Ten post edytował Woytek950 22.07.2009, 19:38:46
Go to the top of the page
+Quote Post
mac_fly
post
Post #8





Grupa: Zarejestrowani
Postów: 46
Pomógł: 18
Dołączył: 11.08.2008
Skąd: 127.0.0.1

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


  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. ?>
Go to the top of the page
+Quote Post
Woytek950
post
Post #9





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


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 

Ten post edytował Woytek950 23.07.2009, 10:35:34
Go to the top of the page
+Quote Post
Pawel_W
post
Post #10





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


powiedz dokładnie co chcesz, bo w ciemno nie możemy napisać ci skryptu, btw przecież instrukcja warunkowa to podstawy...
Go to the top of the page
+Quote Post
Woytek950
post
Post #11





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Czy addslashes dodać po usunięciu spacji czy przed?
Go to the top of the page
+Quote Post

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: 20.08.2025 - 03:29