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]   

> Без описания
Rus88
Отправлено: 18 Марта, 2010 - 21:14:33
Post Id



Гость


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


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

[+]


Написал авторизацию и регистрацию с помощью сеансов, проверьте плиз все ли правильно, проблема в том что, после того как человек авторизуется, должна исчезнуть форма, но не выходит, прошу помочь.

PHP:
скопировать код в буфер обмена
  1.  
  2. require_once("blocks/connect_bd.php");
  3. ?>
  4. <form action="" method="post">
  5. Логин:<br><input type="text" name="login"><br>
  6. Пароль:<br><input type="password" name="password"><br><br>
  7. <input type="submit" name="go_login" value="Войти">
  8. </form>
  9. <?
  10. if(isset($_POST['go_login']))
  11. {
  12. if(isset($_POST['login'])) {$login = $_POST['login'];}
  13. if(isset($_POST['password'])) {$password = $_POST['password'];}
  14. $login = trim($login);
  15. $password = trim($password);
  16. $login = stripslashes($login);
  17. $password = stripslashes($password);
  18. $query = "select login,password from users where login = '$login' and password = '$password'";
  19. $result = mysql_query($query) or trigger_error(mysql_error().$query);
  20. $row = mysql_fetch_array($result);
  21. if(empty($login) && empty($password))
  22. {
  23. exit ("Не заполнены поля логин и/или пароль");
  24. }
  25. else
  26. {
  27. if($row['password'] == $password)
  28. {
  29. echo "Вы вошли на сайт как, ".$_SESSION['login'];
  30. $_SESSION['login'] = $row['login'];
  31. $_SESSION['id'] = $row['id'];
  32. $_SESSION['name'] = $row['first_name'];
  33. echo "Вы успешно вошли на сайт, как ".$_SESSION['name'];
  34. echo
  35. "
  36. <ul>
  37. <li><a href='components.php'>Добавить компьютеры</a></li>
  38. <li><a href='dob.php'>Посмотреть, что вы уже добавили</a></li>
  39. </ul>";
  40. echo "<a href='logout.php'>Выйти</a>";
  41. }
  42. else
  43. {
  44. echo "Неправильный логин и/или пароль";
  45. }
  46. }
  47. }
  48. ?>
  49.  
  50.  


на всех страничках размещен этот скрипт ввиде
PHP:
скопировать код в буфер обмена
  1. <div><? include_once("login.php"); ?></div>


Прошу так же показать, как можно внедрить phpsessid, читал но толком не описывается

(Отредактировано автором: 18 Марта, 2010 - 21:31:29)

 
 Top
Мелкий Супермодератор
Отправлено: 18 Марта, 2010 - 21:29:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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





Не понял Да здравствуют SQL-инъекции даже при магических кавычках?


-----
PostgreSQL DBA
 
 Top
Rus88
Отправлено: 18 Марта, 2010 - 21:32:42
Post Id



Гость


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


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

[+]


Мелкий пишет:
Не понял Да здравствуют SQL-инъекции даже при магических кавычках?


а поточнее, что имеешь ввиду?
 
 Top
Мелкий Супермодератор
Отправлено: 18 Марта, 2010 - 21:59:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Что написано, то и имею в виду. Никакой защиты от встраивания SQL запроса нет, любой грамотный гость может грохнуть всю базу данных. Или авторизоваться паролем при неизвестном логине.

А по основному вопросу - как скрипт написан, так он и работает.
У вас написано - при каждом исполнении скрипта выводить форму (5-9 строки).


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 19 Марта, 2010 - 19:06:14
Post Id



Активный участник


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


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




Rus88 Вам бы вывод формы положить в условие (Вовсе не обязательно приводить к виду с echo можно сделать условие и для вывода текста вне ?> <?php Улыбка и после авторизации делать перенаправление самого на себя и форма не долждна уже выводиться


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Rus88
Отправлено: 20 Марта, 2010 - 18:27:54
Post Id



Гость


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


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

[+]


JustUserR пишет:
Rus88 Вам бы вывод формы положить в условие (Вовсе не обязательно приводить к виду с echo можно сделать условие и для вывода текста вне ?> <?php Улыбка и после авторизации делать перенаправление самого на себя и форма не долждна уже выводиться


слушай, а как мне с помощью session_id мне авторизацию накодить?
 
 Top
Телевизор
Отправлено: 20 Марта, 2010 - 18:50:26
Post Id



Посетитель


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


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




а если htmlspecialchars в пихнуть? поможет ?
 
 Top
jfr
Отправлено: 20 Марта, 2010 - 19:38:47
Post Id



Посетитель


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


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

[+]


Форму укажите в одном файле и сохраняйте как html, а основной php-код в другом, а в action укажите имя файла, где сохраняете основной php-код. Улыбка

Что Вы имеете ввиду находить авторизацию с помошью session_id?

(Отредактировано автором: 20 Марта, 2010 - 19:43:15)

 
 Top
JustUserR
Отправлено: 21 Марта, 2010 - 11:40:24
Post Id



Активный участник


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


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




Rus88 пишет:
Слушай, а как мне с помощью session_id мне авторизацию накодить?
В смысле как вручную передавать индентификатор сессии - для этого выключите в настройках php.ini соответствующие опции педачи параметра через cookie и GET/POST-запросы - и далее сами передаете $_PHPSESSID=session_id() и каждый раз начинаете сессию с данного параметра


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Rus88
Отправлено: 27 Марта, 2010 - 20:13:14
Post Id



Гость


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


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

[+]


JustUserR так а в чем все таки отличие если будет метод GET и через session_id, сколько лит-ры не читал везде пишут что это небезопасно?
 
 Top
JustUserR
Отправлено: 28 Марта, 2010 - 14:13:55
Post Id



Активный участник


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


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




Rus88 пишет:
JustUserR так а в чем все таки отличие если будет метод GET и через session_id, сколько лит-ры не читал везде пишут что это небезопасно?
Отличие в том что вы сами управляете сессией - то есть вы выключаете передачу идентификатора сессий через trans_sid и cookies и передаете его вручную - тогда каждый раз вы можете стартовать сессию по номеру session_start(SESSID) и не будет проблем если у вас сложные алгоритмы и бывает проблематично когда сессия стартуется сама
Что касается безопасности то тут проблем нет - все ранво идентификатор переадется в GET/POST-запросе или же cookie и пользвоатель все равно его легко прочитает - так что здесь меняется не безопасноть а меняется контроль включения сессии
Кстатитаким образом можно для разных групп PHP-скриптов держать разные сессии по номеру


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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