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]   

> Описание: нормальная или нет
binders
Отправлено: 07 Сентября, 2010 - 00:27:33
Post Id



Новичок


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


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




скажите профи как вам такое нормально или плохо ?

PHP:
скопировать код в буфер обмена
  1. <?
  2. if(isset($_POST['user'])):
  3. $user=$_POST['user'];
  4. $pass12=$_POST['pass12'];
  5. if(!isset($_COOKIE['login'])):
  6. setcookie("login",$_POST['user'], time() + (86400*30));
  7. setcookie("password",$_POST['pass12'], time() + (86400*30));
  8. else:
  9. setcookie("login");
  10. setcookie("password");
  11. setcookie("login",$_POST['user'], time() + (86400*30));
  12. setcookie("password",$_POST['pass12'], time() + (86400*30));
  13. endif;
  14. else:
  15. if(isset($_COOKIE['login'])):
  16.  
  17. $user=$_COOKIE['login'];
  18. $pass12=$_COOKIE['password'];
  19.  
  20. else:
  21. $log=1;
  22. endif;
  23. endif;
  24.  
  25.  
  26. function print_form1($user,$pass12) {?>
  27.  
  28.                                                         <div id="mod-top">
  29.                                                                         <form action="account.php" method="post" name="loginForm" >
  30.                 <div class="spacer">
  31.                 <div class="loginelement">
  32.                         <label for="mod_login_username">Имя</label>
  33.                         <input name="user" id="mod_login_username" type="text" class="inputbox" alt="username" size="10" />
  34.                 </div>
  35.                 <div class="loginelement">
  36.                         <label for="mod_login_password">Пароль</label>
  37.                         <input type="password" id="mod_login_password" name="pass12" class="inputbox" size="10" alt="password" />
  38.                 </div>
  39.  
  40.                         </div>
  41.         <div class="loginelement">
  42.         <a href="javascript:document.loginForm.submit();" class="nounde1r">Войти</a>
  43.  
  44.                 <a href="pass.php" class="noun1der">Напомнить Пароль ?</a>
  45.         </div>
  46.                                 <div class="clr"></div>
  47.         </form>
  48.                                                                 </div>
  49.  
  50.  
  51.                                                         <?
  52. }
  53.  
  54. if(isset($log)):
  55. print_form1($user,$pass12);
  56. else:
  57. $sql=mysql_query("select*from users where user='$user'");
  58. $row=mysql_fetch_array($sql);
  59. $user1=$row['user'];
  60.  
  61. if($user1!==$user):
  62.  
  63. print_form1($user,$pass12);
  64. else:
  65. $pass1=$row['pass'];
  66. if($pass1!=$pass12):
  67. print_form1($user,$pass12);
  68. else:
  69. ?>
  70.  
  71. здесь уже сайт
  72.  
  73. <?
  74. endif;
  75. endif;endif;
  76. ?>
  77.  
 
 Top
altermann
Отправлено: 07 Сентября, 2010 - 04:15:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010  
Откуда: Днепропетровск


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




Я не спец, но это не плохо, это просто полный пи-ец:
1) Безопасности у вас ноль: нужно проверять входящие данные, htmlspecialchars или htmlentities для вывода логина в браузер, экранировать запросы к БД, пароль в открытом виде в кукисах.
2) Нет проверки результата ответа БД после запроса.
3) Вы получаете значение логина, обращаетесь к БД где получаете логин и пароль, а потом еще сравниваете полученное значение логина из формы со значением поллученное из БД. НАХРЕНА?? Если логин из формы не верен, то в базе не найдет ничего.
4) Зачем проверять правильность пароля в скрипте? Быстрее будет сделать это в БД: "select*from users where user='$user' & pass=$pass12". Если вернет одну строку - значит пользователь найден и пароль верен.
5) Странная установка кукисов: сначала ставишь пустые куки, потом ставишь со значениями.
6) Не видно подключения к БД.

Т.Конверс Д.Парк К.Морган - PHP 5 и MySQL. Библия пользователя глава44 - пример реализации авторизации пользователя


-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
binders
Отправлено: 07 Сентября, 2010 - 15:20:05
Post Id



Новичок


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


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




база подключается от сюда
PHP:
скопировать код в буфер обмена
  1. require ("inc/connect.inc.php");

это не моё это готовое типо решении
помогите переделать пожалуйста
а то полный гугл на сессиях а мне надо имено на цокетах
заранее огромное спасибо
 
 Top
altermann
Отправлено: 07 Сентября, 2010 - 16:07:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010  
Откуда: Днепропетровск


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




Может на куках, а не цокетах?

Т.Конверс Д.Парк К.Морган - PHP 5 и MySQL. Библия пользователя. глава№44 - пример реализации авторизации пользователя - ищи это, там на куках, все расписывается, может даже где исходники найдешь для этой книги


-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
binders
Отправлено: 07 Сентября, 2010 - 16:22:55
Post Id



Новичок


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


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




а как вам ето метод
http://habrahabr[dot]ru/blogs/php/13726/
 
 Top
altermann
Отправлено: 07 Сентября, 2010 - 16:28:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Март 2010  
Откуда: Днепропетровск


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




бери, это хабр и рейтинг у статьи +19, там плохого не посоветуют


-----
Я прирожденный кузнец, я не могу не куя!
 
 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