Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie, pomoc przy logowaniu
seba199696
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 4.01.2011

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


  1. <?php
  2. include 'dbc.php'; //polaczenie z baza danych
  3. $user_login = htmlspecialchars(stripslashes(strip_tags(trim($_POST['username']))));
  4.  
  5.  
  6. $pass = md5(htmlspecialchars(stripslashes(strip_tags(trim($_POST['password'])))));
  7. $user_password = sha1($pass.$user_login);
  8.  
  9.  
  10. $user_log = "user_login='$user_login'";
  11. $user_pass = "user_password='$user_password'";
  12.  
  13. $result = mysql_query("SELECT `id`,`user_login`,`user_password`,`banned` FROM users WHERE
  14. $user_log AND $user_pass AND `banned` = '0'
  15. ") or die (mysql_error());
  16.  
  17.  
  18. if (mysql_num_rows($result) == 1) {
  19.  
  20. $_SESSION['user_name'] = $user_login;
  21. header('Location: index2.php');
  22.  
  23. } else {
  24. echo "Logowanie się nie powiodło :(";
  25.  
  26. }
  27. ?>


Witam, napisałem skrypt logujący użytkownika wszystko działa prawidłowo lecz chcę się dowiedzieć w jaki sposób zabezpieczyć taki skrypt przed atakami. Robię coś źle? Jakieś propozycję?

Dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


tak oba varchar, ponieważ zezwalasz na użycie dowolnych znaków( various characters) na początek możesz dawać varchar(255), no chyba, że wprowadzasz walidację odnośnie maksymalnej długości wtedy pole nieodpowiednio mniejsze, jak już będziesz bardziej zaawansowany to warto precyzyjniej dobierać długość. W przypadku hasła pozwalasz na użycie dowolnych znaków, natomiast w przypadku loginu przeważnie zezwala się wyłącznie na znaki alfanumeryczne, czyli litery i cyfry

Ten post edytował tehaha 11.09.2011, 00:18:40
Go to the top of the page
+Quote Post

Posty w temacie
- seba199696   Logowanie   7.09.2011, 17:40:13
- - tehaha   a to co za wynalazek? [HTML] pobierz, plaintext $p...   7.09.2011, 17:48:16
- - bastard13   [PHP] pobierz, plaintext $pass = md5(htmlspeci...   7.09.2011, 17:52:22
- - seba199696   ok dzięki zrobie tak ja mówicie "Możesz uży...   7.09.2011, 18:26:27
- - bastard13   Sorry, z tą solą to trochę pokręciłem. Tak to jest...   7.09.2011, 19:00:12
- - seba199696   Mógłbyś mi wytłumaczyć o co chodzi z mysql_real_es...   7.09.2011, 19:17:48
- - bastard13   Cytatmysql_real_escape_string() calls MySQL's ...   7.09.2011, 19:33:26
- - seba199696   Poprawiłem skrypt, teraz dobrze? [PHP] pobierz, p...   8.09.2011, 21:22:01
- - bastard13   Tak na pierwszy rzut oka to ok. Usunąłbym jednak t...   8.09.2011, 22:29:24
- - seba199696   Ok Mam jeszcze jedno pytanie, przeczytałem gdzieś...   10.09.2011, 09:53:38
- - tehaha   w sesji trzymasz to co potrzebujesz oprócz hasła. ...   10.09.2011, 11:52:45
- - seba199696   Czyli jak użytkownik dodaje komentarz to będzie .....   10.09.2011, 11:56:22
- - tehaha   tak, ale dla zabezpieczenia dajesz jeszcze rzutowa...   10.09.2011, 12:24:30
- - seba199696   a przy poprawnym logowaniu przypisać id używając: ...   10.09.2011, 13:00:09
- - tehaha   dokładnie, możesz również przypisać inne przydatne...   10.09.2011, 13:08:19
- - seba199696   Dzięki Mam jeszcze jedno pytanko w bazie mam u...   10.09.2011, 22:10:56
- - tehaha   tak oba varchar, ponieważ zezwalasz na użycie dowo...   11.09.2011, 00:13:48
- - bastard13   A ja mam tylko pytanie po co to rzutowanie na inte...   11.09.2011, 00:31:56
- - tehaha   CytatA ja mam tylko pytanie po co to rzutowanie na...   11.09.2011, 10:02:56
- - Fifi209   Chciałbym dodać do wypowiedzi tehaha, co to typów,...   11.09.2011, 15:04:27


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 - 11:22