|
|
|
| Здравствуйте! Написал накую функцию:
function autoreze()
{
global $u_agent;
if(isset($_GET['PHPSESSID']) || isset($_POST['PHPSESSID']))
{
session_start();
$ses_agent = $_SESSION['u_agent'];
$autorez = $_SESSION['autorez'];
if($u_agent === $ses_agent and $autorez === 1)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
|
авторизовываюсь, проверяю, выводит " true ",
захожу туда же с другого браузера, как положено пишет " flse ",
но после этого и авторизованный браузер выкидывает.
Почему так? И как это можно исправить? | |
|
|
|
|
|
|
|
для: Junkie25
(28.12.2008 в 07:48)
| | Попробуйте вместо
if(isset($_GET['PHPSESSID']) || isset($_POST['PHPSESSID']))
|
вот так
if(isset($_REQUEST['PHPSESSID']))
|
Почему так? И как это можно исправить?
Слишком мало информации. С чего вы взяли что проблема именно в функции?
И вообще если вы с определённым идентификатором сеанса заходите из под другого браузера, то сессия в целях безопасности должна закрываться. | |
|
|
|
|
|
|
|
для: Valick
(28.12.2008 в 09:50)
| | И вообще если вы с определённым идентификатором сеанса заходите из под другого браузера, то сессия в целях безопасности должна закрываться.
Должна сама (предусмотрено php) или это нжно делать мне?
Если php такие сессии закрывает, тогда понятно - почему.
Но интересно: можно ли с этим бороться?
2) Слишком мало информации. С чего вы взяли что проблема именно в функции?
просто я только пишу скрипт, а с сессиями еще толком не разобрался, поэтому, как только
написал функцию, сразу решил проверить, вот так:
if(autoreze())
{
$autoreze = 1;
}
else
{
$autoreze = 0;
}
if ($autoreze === 1)
{
echo '<br/><br/>Вы авторизованы<br/>
}
else
{
echo '<br/><br/>Вы не авторизованы<br/>
}
|
| |
|
|
|
|
|
|
|
для: Junkie25
(28.12.2008 в 10:49)
| | "масляное масло"))
у вас много лишнего...
достаточно
if (autoreze())
{
echo '<br/><br/>Вы авторизованы<br/>
}
else
{
echo '<br/><br/>Вы не авторизованы<br/>
}
|
Сессии должны закрывать вы сами, при любом подозрении что сессия украдена.
Самого РНР кроме идентификатора сессии ничего не волнует. | |
|
|
|
|
|
|
|
для: Valick
(28.12.2008 в 09:50)
| | >И вообще если вы с определённым идентификатором сеанса заходите из под другого браузера, то сессия в целях безопасности должна закрываться.
почему, кем, и как? | |
|
|
|
|
|
|
|
для: Trianon
(28.12.2008 в 12:30)
| | почему - в целях безопасности.
кем - программистом.
как - не мне вам рассказывать) | |
|
|
|
|
|
|
|
для: Valick
(28.12.2008 в 12:47)
| | Переменные создал, чтоб не гонять функцию по несколько раз, в скрипте, на каждой странице
будут выводиться данные только для авторизованых, в разных местах. | |
|
|
|