Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Авторизация
Форумы портала PHP.SU » » Вопросы новичков » Авторизация

Страниц (1): [1]
 

1. alexiy - 13 Ноября, 2011 - 23:16:31 - перейти к сообщению
что можете сказать по данному скрипту?
тут еще не все дописано, но сама суть отображена
Жду ваших комментариев
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         session_start();
  4.         define('inc', 1);
  5.         include_once 'functions.php';
  6.        
  7.         if($_SESSION['access'] == "true")
  8.         {
  9.                 if($_SERVER['REQUEST_METHOD'] == 'POST')
  10.                 {
  11.                         dbconnect();//db connection
  12.                        
  13.                         $login = initVar($_POST['login'], "Insert login field", "str");//protect login
  14.                         $password = initVar($_POST['password'], "Insert password field", "pass");//protect password
  15.                        
  16.                         $users = mysql_query("SELECT login, password FROM users WHERE login = '$login'");
  17.                         $userdata = mysql_fetch_array($users, $db);
  18.                        
  19.                         $dlogin = $userdata['login'];
  20.                         $dpassword = $userdata['password'];
  21.                        
  22.                         if($login == $dlogin && $password == $dpassword)
  23.                         {
  24.                                 //запускается сессия и перенаправление на нужную страницу
  25.                         }
  26.                         else
  27.                                 die("No access for you!<a href = \"index.php\">[Go bacl]</a>");                
  28.                        
  29.                 }
  30.                 else
  31.                         die("Error, try again <a href = \"index.php\"></a>");
  32.                
  33.                 unset($_SESSION['access']);//delete access session variable
  34.         }
  35.         else
  36.         {
  37.                 session_destroy();
  38.                 die("No access <a href = \"index.php\">[Go back]</a>");
  39.         }
  40. ?>
  41.  
2. Мелкий - 14 Ноября, 2011 - 07:48:17 - перейти к сообщению
Пачка нотайсов. Не проверяете существование элементов в $_POST и случай возвращения 0 записей из таблицы.
По безопасности - неизвестно, т.к. функция initVar не представлена Ниндзя
3. alexiy - 14 Ноября, 2011 - 09:58:33 - перейти к сообщению
Мелкий пишет:
Пачка нотайсов. Не проверяете существование элементов в $_POST и случай возвращения 0 записей из таблицы.
По безопасности - неизвестно, т.к. функция initVar не представлена Ниндзя

Вот она Улыбка
PHP:
скопировать код в буфер обмена
  1.  
  2. function initVar($post, $error, $type)
  3.         {
  4.                 if(!empty($post))
  5.                 {
  6.                         switch($type)
  7.                         {
  8.                                 case "str":
  9.                                         return trim(htmlspecialchars(mysql_real_escape_string(($post))));
  10.                                 case "pass":
  11.                                         return trim(md5($post));
  12.                         }
  13.                 }
  14.                 else
  15.                         die("Check all fields <a href = \"index.php\">[Try again]</a>");
  16.         }
  17.  
  18.  
  19.  

 

Powered by ExBB FM 1.0 RC1