Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос про сессии
 
 автор: novichok   (14.12.2008 в 21:04)   письмо автору
 
 

Добрый всем вечер!
Вот полазил по форуму и организовался вопрос такой:

cделал авторизацию. форма, и она же обработчик. если все правильно-стартую сессию и $_SESSION['user']='name'; //он же логин а вдругих скраптах проверка if (!isset($_SESSION['user']) ) exit;

насколько она надежна

не понял я что такое sid, ведь ничего таскать в адр. строке не надо

  Ответить  
 
 автор: stealzzer   (14.12.2008 в 22:33)   письмо автору
 
   для: novichok   (14.12.2008 в 21:04)
 

Впринципе безопасно. Но я вместо этого в авторизации использую session_id;
Это значение присваиваю $_SESSION['id'] и сверяю на каждой странице.

  Ответить  
 
 автор: novichok   (14.12.2008 в 22:43)   письмо автору
 
   для: stealzzer   (14.12.2008 в 22:33)
 

а если поподробнее, с чем и что вы сверяете? $_SESSION['id'] есть на любой странице, только вот с чем его сравнить?

  Ответить  
 
 автор: SteAlzzer   (14.12.2008 в 23:42)   письмо автору
 
   для: novichok   (14.12.2008 в 22:43)
 

id сессии не меняется, пока она не закроется через n-ое время, устанавливаемое хостингом
Ты при, например, форме авторизации передаешь $_SESSION['id'] = session_id(); (не забудь session_start(); )
Затем на следующей странице, на которой происходит сам процесс авторизации делаешь проверку типа
<?
if($_SESSION['id'] !== session_id())
exit(
"Хакерский прорыв!!");
?>

В книге так написано, что таким образом можно бороться от злодейского подбора паролей))

  Ответить  
 
 автор: DarkMan   (09.01.2009 в 17:17)   письмо автору
 
   для: SteAlzzer   (14.12.2008 в 23:42)
 

Перечитал кучу всего про сессии, но так и не понял что у меня не так :( Надеюсь тут мне помогут найти ошибку
На странице index.php у меня форма для входа пользователей, форма обрабатывается на этой же странице.
код такой
<?
  session_start
();
  
$_SESSION['name'] = $login;
  echo 
'Привет, '.$_SESSION['name']."<br>";
?>
<?
...
global 
$login$pas;
...
<
form action="index.php" method="post">
Логин <input type="text" name="login" size="20" value="<? echo $login; ?>"><br>
...
</
form>
...
<
a href="page2.php">На следующую страницу</a>
...

проблема такая: в сессию значение переменной $login непопадает и как следствие после входа показывается "Привет, " вместо "Привет, Вася" :(
Пожалуйста подскажите что у меня не так.

  Ответить  
 
 автор: Николай2357   (09.01.2009 в 17:49)   письмо автору
 
   для: DarkMan   (09.01.2009 в 17:17)
 

<? 
  session_start
(); 
if(isset(
$_POST['login'])) $_SESSION['name'] = $_POST['login']; 
  echo 
'Привет, '.$_SESSION['name']."<br>";

  Ответить  
 
 автор: DarkMan   (09.01.2009 в 18:07)   письмо автору
 
   для: Николай2357   (09.01.2009 в 17:49)
 

спасибо, теперь все работает как надо :)

  Ответить  
 
 автор: stealzzer   (14.12.2008 в 22:33)   письмо автору
 
   для: novichok   (14.12.2008 в 21:04)
 

Так было написано в книге Практика php от Кузнецова и softtime. Спасибо вам!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования