Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] szybkie zabezpieczenie skryptu[/php]
aga323
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

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


Witam, dawno si nie odzywałam z powodu braku czasu... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ale mam mały problem. jedynym polem na mojej stronce gdzie możnaby wpuscić jakiś złośliwy kod jest logowanie i zależy mi żeby w tym polu można było wpisywac tylko litery a-z i cyfry 0-9 oraz aby nie można było wprowadzac LIKE itd. Po prostu chce choć troszkę zabezpieczyć ten kod. Wiem, ze temat byl tn juz poruszany jednak na prawde nie mam czasu tego wszystkiego czytać i prosze o syzbką odpowiedź. Podaję mój kod:
index.php
  1. <?php
  2. Panel Logowania:
  3. <form name="logowanie" action="log.php" method="POST">
  4. Użytkownik:
  5. <input type="text" name="user" value="" />
  6. Hasło:
  7. <input type="password" name="pass" value="" />
  8. <br>
  9. <input type="submit" value="zaloguj" />
  10. </form>
  11. ?>

log.php
  1. <?php
  2. $login_f = $_POST['user'];
  3. $pass_f = $_POST['pass'];
  4. //Laczenie z baza
  5. include ("connect.php");
  6. //-------------------------
  7. //  Zapytanie
  8. //-------------------------
  9. //pobieramy użytkownika o takim loginie z bazy.
  10. $query = mysql_query("SELECT * FROM `users` WHERE login='".$login_f."' AND haslo='".$pass_f."';");
  11. $result = mysql_fetch_array($query);
  12. if(!empty($result['login'])){
  13.  
  14.  $login_b = $result['login'];
  15.  $pass_b = $result['haslo'];
  16. //Tworzymy zmienną sesji $_SESSION['Login'] i nadajemy jej
  17. //wartość jaka jest w bazie danych odpowiadająca zalogowanemu użytkownikowi.
  18. $_SESSION['User']= $login_b;
  19. $_SESSION['User_id']= $result['id'];
  20. $_SESSION['ranga']= $result['ranga'];
  21. $_SESSION['klasa']= $result['klasa'];
  22. //Zalogowanego użytkownika przenosimy na strone index.php
  23. header( 'Location: ses.php' );
  24.  
  25. } 
  26. else
  27. {
  28. echo "Zły login";  
  29.  
  30. }
  31. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
aga323
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Oborniki

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


Czyli przed kazdym wysłaniem czy sprawdzeniem danych związanych z haslem poprzedzic to md5? A jak np. mam opcje zmiany hsla i chce zeby wysiwtlilo mi sie normalne a nie zakodowane to co mam zrobic?
Go to the top of the page
+Quote Post
Cienki1980
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(aga323 @ 27.09.2007, 19:55:34 ) *
Czyli przed kazdym wysłaniem czy sprawdzeniem danych związanych z haslem poprzedzic to md5? A jak np. mam opcje zmiany hsla i chce zeby wysiwtlilo mi sie normalne a nie zakodowane to co mam zrobic?

Nic nie możesz zrobić. md5 to hashowanie a nie kodowanie ... jest tylko i wyłącznie jednostronne.

A co do zmiany hasła to we wszystkich szanujących serwisach zmiana hasła składa się z trzech kroków :
- podajesz stare hasło
- podajesz nowe hasło
- powtarzasz nowe hasło
czyli trzy pola input w formularzu

w skrypcie sprawdzasz czy md5(stare_haslo)==haslo_w_bazie && nowe_haslo==nowe_powtorzone_haslo

Jeżeli wszystko się zgadza robisz aktualizacje hasla .. czyli
  1. <?php
  2. $sql="update tabela set haslo='".md5(nowe_haslo)."'";
  3. ?>
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: 6.10.2025 - 18:35