Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Logowanie
mrk9109
post 5.07.2011, 20:35:16
Post #1





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


Witam mam taki problem otóż chce sobie przerobić logowanie cms`a noo i wszystko idzie oki po zalogowaniu przenosi do index.php lecz gdy dane są błędne nie pokazuję błędów nie wiem dlaczego sad.gif

  1. <?php
  2.  
  3. include("_mysql.php");
  4. include("_settings.php");
  5.  
  6. // copy pagelock information for session test + deactivated pagelock for checklogin
  7. $closed_tmp = $closed;
  8. $closed = 0;
  9.  
  10. include("_functions.php");
  11.  
  12. //settings
  13.  
  14. $sleep = 1; //idle status for script if password is wrong?
  15.  
  16. //settings end
  17. $_language->read_module('checklogin');
  18.  
  19. $get = safe_query("SELECT * FROM ".PREFIX."banned_ips WHERE ip='".$GLOBALS['ip']."'");
  20. if(mysql_num_rows($get) == 0){
  21. $ws_pwd = md5(stripslashes($_POST['pwd']));
  22. $ws_user = $_POST['ws_user'];
  23.  
  24. $check = safe_query("SELECT * FROM ".PREFIX."user WHERE nickname='".$ws_user."'");
  25. $anz = mysql_num_rows($check);
  26. $login = 0;
  27.  
  28.  
  29. if($anz) {
  30.  
  31. $check = safe_query("SELECT * FROM ".PREFIX."user WHERE nickname='".$ws_user."' AND activated='1'");
  32. if(mysql_num_rows($check)) {
  33.  
  34. $ds=mysql_fetch_array($check);
  35.  
  36. // check password
  37. $login = 0;
  38. if($ws_pwd == $ds['password']) {
  39.  
  40. //session
  41. $_SESSION['ws_auth'] = $ds['userID'].":".$ws_pwd;
  42. $_SESSION['ws_lastlogin'] = $ds['lastlogin'];
  43. $_SESSION['referer'] = $_SERVER['HTTP_REFERER'];
  44. //remove sessiontest variable
  45. if(isset($_SESSION['ws_sessiontest'])) unset($_SESSION['ws_sessiontest']);
  46. //cookie
  47. setcookie("ws_auth", $ds['userID'].":".$ws_pwd, time()+($sessionduration*60*60));
  48. //Delete visitor with same IP from whoisonline
  49. safe_query("DELETE FROM ".PREFIX."whoisonline WHERE ip='".$GLOBALS['ip']."'");
  50. //Delete IP from failed logins
  51. safe_query("DELETE FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  52. $login = 1;
  53. $error = $_language->module['login_successful'];
  54. }
  55. elseif(!($ws_pwd == $ds['password'])) {
  56. if($sleep) sleep(5);
  57. $get = safe_query("SELECT wrong FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  58. if(mysql_num_rows($get)){
  59. safe_query("UPDATE ".PREFIX."failed_login_attempts SET wrong = wrong+1 WHERE ip = '".$GLOBALS['ip']."'");
  60. }
  61. else{
  62. safe_query("INSERT INTO ".PREFIX."failed_login_attempts (ip,wrong) VALUES ('".$GLOBALS['ip']."',1)");
  63. }
  64. $get = safe_query("SELECT wrong FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  65. if(mysql_num_rows($get)){
  66. $ban = mysql_fetch_assoc($get);
  67. if($ban['wrong'] == $max_wrong_pw){
  68. $bantime = time() + (60*60*3); // 3 hours
  69. safe_query("INSERT INTO ".PREFIX."banned_ips (ip,deltime,reason) VALUES ('".$GLOBALS['ip']."',".$bantime.",'Possible brute force attack')");
  70. safe_query("DELETE FROM ".PREFIX."failed_login_attempts WHERE ip = '".$GLOBALS['ip']."'");
  71. }
  72. }
  73. $error= $_language->module['invalid_password'];
  74. }
  75. }
  76. else $error= $_language->module['not_activated'];
  77.  
  78. }
  79. else $error=str_replace('%nickname%', htmlspecialchars($ws_user), $_language->module['no_user']);
  80.  
  81. }
  82. else{
  83. $login = 0;
  84. $data = mysql_fetch_assoc($get);
  85. $error = str_replace('%reason%', $data['reason'], $_language->module['ip_banned']);
  86. }
  87.  
  88. if($login) {
  89. header("Location: index.php");
  90. ; }
  91. else{
  92. header("Location: index.php");
  93. $error;
  94. }
  95. ?>
  96.  

Go to the top of the page
+Quote Post
drozdii07
post 5.07.2011, 20:39:51
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 39
Dołączył: 6.12.2010
Skąd: localhost

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


Domyslam sie ze $error to bledy, wiec chyba trzeba zrobic echo $error zeby sie cos pojawilo

Ten post edytował drozdii07 5.07.2011, 20:43:55


--------------------
Wspieram akcję "jQuery i AJAX to nie język programowania"
Go to the top of the page
+Quote Post
CuteOne
post 5.07.2011, 20:43:05
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. if($login) {
  2.  
  3. header("Location: index.php");
  4. }
  5. else{
  6.  
  7. echo $error;
  8. }
Go to the top of the page
+Quote Post
mrk9109
post 5.07.2011, 20:44:42
Post #4





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


dobrze tylko ja chce to wywolac w indexie a teraz to mi pokazuje w logowanie.php jak to zmienic ?
Go to the top of the page
+Quote Post
drozdii07
post 5.07.2011, 20:48:19
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 39
Dołączył: 6.12.2010
Skąd: localhost

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


Zapis do sesji lub przeslij przez ukryte pole formularza (hidden)


--------------------
Wspieram akcję "jQuery i AJAX to nie język programowania"
Go to the top of the page
+Quote Post
mrk9109
post 5.07.2011, 20:48:44
Post #6





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


poradziłem sobie smile.gif dzięki za naprowadzenie .
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 Wersja Lo-Fi Aktualny czas: 7.07.2025 - 01:19