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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Авторизация

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Безопасность скрипта
Mister
Отправлено: 18 Октября, 2009 - 15:49:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Написал свой небольшой скрипт авторизации. Всей администраторской частью управляет один файл index.php , в нём же происходит авторизация. Подскажите пожалуйста, достаточно ли надёжен данный скрипт?
PHP:
скопировать код в буфер обмена
  1.  
  2. session_start();
  3. include("config.ini");
  4. define("IN_ADMIN", TRUE);
  5. $access = array();
  6. $access = file("access.php");
  7. $login_file = trim($access[1]);
  8. $password_file = trim($access[2]);
  9. if (isset($_REQUEST['enter']))
  10. {
  11. $login_auth     = trim($_REQUEST['login_auth']);
  12. $login_auth = stripslashes($login_auth);
  13. $login_auth = htmlspecialchars($login_auth);
  14. $password_auth  = trim($_REQUEST['password_auth']);
  15. $password_auth = stripslashes($password_auth);
  16. $password_auth = htmlspecialchars($password_auth);
  17. if (empty($login_auth) || empty($password_auth))
  18.         {
  19.         $title = "Ошибка авторизации!";
  20.         include("header.tpl");
  21.         ?>                             
  22.         <p align="center"><font color="red"><b>Ошибка! Заполнены не все поля формы.</b></font><p><a href=# onClick = 'history.back()'>Вернуться назад</a>                              
  23.         </body>
  24.         </html>
  25.         <?PHP
  26.         exit();
  27.         }
  28.         if (($login_file == $login_auth) && ($password_file == $password_auth))
  29.         {
  30.         $_SESSION['login_auth'] = $login_auth;
  31.         $_SESSION['password_auth'] = $password_auth;
  32.         } else
  33.         {
  34.         $title = "Ошибка авторизации!";
  35.         include("header.tpl");
  36.         ?>
  37.         <p align="center"><font color="red"><b>Ошибка! Заполнены не все поля формы.</b></font><p><a href=# onClick = 'history.back()'>Вернуться назад</a>                              
  38. </body>
  39. </html>
  40. <?PHP
  41. exit();
  42. }
  43. unset ($_REQUEST['enter']);
  44. header("Location: index.php");
  45. } else
  46. {
  47. if (isset($_SESSION['login_auth']) && isset($_SESSION['password_auth']))
  48. {
  49. if (($login_file == $login_auth) && ($password_file == $password_auth))
  50. {
  51. $_SESSION['login_auth'] = $login_auth;
  52. $_SESSION['password_auth'] = $password_auth;
  53. if (isset($_REQUEST['view']))
  54. {
  55. function logout()
  56. {
  57.         session_destroy();
  58.         header("Location: index.php");
  59. }
  60.         switch ($_REQUEST['view'])
  61.         {
  62.         case "kar": include("view_karikatura.php"); break;
  63.         case "per": include("view_perevertish.php"); break;
  64.         case "eshhe": include("view_eshhe.php"); break;
  65.         case "add_c": include("add_caricatura.php"); break;
  66.         case "edit_k": include("edit_karikatura.php"); break;
  67.         case "del": include("del.php"); break;
  68.         case "logout": logout(); break;
  69.         default: echo "Ошибка сценария"; break;
  70.         }
  71. }else
  72. {
  73. include("main.php");
  74. }      
  75. }                      
  76. } else
  77.         {
  78.         $title="Авторизация.";
  79.         include("header.tpl");
  80.         ?>
  81. <form action="index.php" method="post">
  82. <table width="270" cellpadding="3" cellspacing="3" border="1">
  83. <tr>
  84.         <td>Логин</td><td align="center"><input name="login_auth" value=""></td>
  85. </tr>
  86. <tr>
  87.         <td>Пароль</td><td align="center"><input name="password_auth" value="" type="password"></td>
  88. </tr>
  89. <tr>
  90.         <td colspan="2"><input type="submit" value="Вход" name="enter"></td>
  91. </tr>
  92. </table>
  93. </body>
  94. </html>
  95.         <?PHP
  96.         }
  97. }
  98. ?>
  99.  

Принцип взят из http://www[dot]softtime[dot]ru/info/arti[dot][dot][dot]hp?id_article=34 на php.su тоже есть тоже самое.
Доступ к остальным файлам закрыт
вначале каждого файла.
Логин и пароль хранятся в файле.

(Отредактировано автором: 18 Октября, 2009 - 15:55:10)



-----
..я не специалист, а только учусь
 
 Top
Zaimen
Отправлено: 19 Октября, 2009 - 15:57:44
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Формат .ini лучше не использовать так как его можно открыть через браузер, если ошибаюсь поправте. Улыбка
 
 Top
valenok Модератор
Отправлено: 19 Октября, 2009 - 17:08:46
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Любой формат можно открыть или скачать браузером. Будь то ini, mini или mani


-----
Truly yours, Sasha.
 
My status
 Top
Mister
Отправлено: 20 Октября, 2009 - 20:17:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2007  
Откуда: Сухиничи Калуж.обл.


Помог: 0 раз(а)

[+]


Этот файл закрыт файлом htaccess от прямого обращения к нему.


-----
..я не специалист, а только учусь
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB