|
|
|
| итак имеем
session_name("SID");
session_start();
|
при авторизации передается параметр
$_GET['sid']=session_id();
|
условие
if (!empty($_GET['sid']))
{
if ($_GET['sid'] != session_id())
{
exit("Попытка передачи данных с другого хоста. Скрипт остановлен");
}
}
|
У пользователей телефонов Nokia и Старых Siamens'ов не передается параметр $_GET['sid']
Почему?
И еще вопрос по теме: как правильно формировать ссылку чтобы сохранять сеанс сессии? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 11:55)
| | 1ссылки вроде как автоматически формируются если у пользователя отключены куки, иначе они хранятся в куках.
2 для использования сессий помоему лучше пользоваться массивом $_SESSION
3 а зачем строчка
$_GET['sid']=session_id();
| ???
4 то что старых сименсов это нормально, а вот то что пользователи нокиа тоже в ауте - это конечно странно. | |
|
|
|
|
|
|
|
для: parczynski
(05.04.2008 в 12:17)
| | дело в том что я не использую куки ,как быть в такой ситуации?
понятно что массивом: параметр $_GET['sid'] передается со страницы авторизации, для защиты от подделки | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 13:50)
| | я видел такой способ передачи в ссылке: moi.ru/index.php?ver=w&".SID."
объясните что это? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 15:08)
| | это имено как строка запроса, или так выглядит код?
Если код, то SID - это скорее всего просто константа... | |
|
|
|
|
|
|
|
для: DEM
(05.04.2008 в 15:19)
| | я спрашиваю, если я не использую куки, как мне передавать пограмотнее идентификатор сессии?
И что означает это SID я пробовал вставлять в конце каждой ссылки, но отличий не увидел ,что с ней что без | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 16:39)
| | Надо прежде инициировать сессию (session_start), тогда увидишь. | |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 17:47)
| | >Надо прежде инициировать сессию (session_start), тогда увидишь.
автор: chexov (05.04.2008 в 11:55)
|
Все инициировано | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 17:57)
| |
<?php
ini_set('session.use_cookies', 0);
session_start();
echo SID;
?>
|
| |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 18:15)
| | объясните принцип...может я что то не так делаю
вот к примеру session_name Обязательно? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 18:21)
| | отключил кукисы получилось вот что:
http://ry.ru?SID=06e2b83082a88c6eb5622ee63e32e9e4
ЕСЛИ я дам эту ссылку в то время как нахожусь на сайте кому нибудь он запросто по ней зайдет, как этого избежать? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 19:39)
| | Не давать ссылку. | |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 19:55)
| | а если ловушка(имею ввиду реферрер) никак не избежать? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 20:38)
| | Использовать специальную страницу в качестве переходной. | |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 20:44)
| | это как? я не понял | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 20:53)
| | Все внешние ссылки должны вести на какую-то промежуточную страницу, с которой пользователь подтвердит, что он хочет перейти по указанному адресу. | |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 21:05)
| | я понял смысл слов, не понял какими методами осуществить можно? поиск в тексте ссылки? и если есть то на внешнюю страницу? | |
|
|
|
|
|
|
|
для: chexov
(05.04.2008 в 21:13)
| | Тогда ответь на вопрос: каким образом могут получить реферер? | |
|
|
|
|
|
|
|
для: Atheist
(05.04.2008 в 21:17)
| | это комната переписки, т.е злоумышленник может прост онаписать ссылку ,по которой можно перейти...пользователь не предполагая об опасности перейдет по ней... | |
|
|
|
|
|
|
|
для: chexov
(06.04.2008 в 04:48)
| | Теперь ответь на такой вопрос: он пишет ссылку (кликабельную) благодаря твоим bb-кодам? | |
|
|
|
|
|
|
|
для: Atheist
(06.04.2008 в 12:00)
| | да, я могу нажать на ссылку и произойдет переход по назначеному адресу | |
|
|
|
|
|
|
|
для: chexov
(06.04.2008 в 17:53)
| | Замечательно. А теперь что тебе мешает изменить строку замены bb-кода?
Например с
<?php
$message = preg_replace('#\\[url=(http://.+?)\\](.+?)\\[/url\\]#i', '<a href="\\1">\\2</a>', $message);
|
На
<?php
$message = preg_replace('#\\[url=(http://.+?)\\](.+?)\\[/url\\]#ie', '"<a href=\\"out.html?url=" . urlencode("\\1") . "\\">\\2</a>"', $message);
|
На странице redirect.html попросить пользователя подтвердить переход. Тогда будет лишь реферер http://example.com/redirect.html?url=...
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Atheist
(06.04.2008 в 18:08)
| | спасибо большое, к этому и шли | |
|
|
|