PHPSESSID появляется в произвольной форме - PullRequest
4 голосов
/ 05 июля 2011

У меня есть форма входа, написанная на PHP, и каждый раз, когда я запускаю браузер и захожу на соответствующую страницу, первое поле формы выглядит так:
<input type="hidden" name="PHPSESSID" value="session_id_code" />
Если я закрою окно, но не перезапущу браузер, этого не произойдет. Есть идеи, что происходит и почему?

Спасибо! * * 1004


Код формы:

<?php
if (condition) {
?>
<form method="post" action="">
<dl>
<dt>Email:</dt>
<dd><input type="text" name="useremail" /></dd>
<dt>Password:</dt>
<dd>
<input type="password" name="userpass" /></dd>
<dt class="dt-buttons"><input type="submit" name="button_login" value="Login" class="button" /></dt>
</dl>
<input type="hidden" name="formkey" id="formkey" value="224ca00155w2fcda8906e1e40af03a71" />
</form>
<?php
}
?>

Форма представляет собой простой HTML и не генерируется динамически.

EDIT2:
Как я уже говорил, когда я впервые захожу на страницу после запуска браузера, это происходит. Если после этого я обновлю страницу, скрытое поле не появится.
Можно ли что-то делать с SSL-сертификатом? И если да, то почему некоторые страницы / формы ведут себя так, а некоторые нет?

1 Ответ

7 голосов
/ 05 июля 2011

Звучит так, как будто у вас trans_sid включен (прозрачный идентификатор сессии). Использование trans_sid может быть проблемой безопасности, особенно если ваш сайт ссылается на внешний контент или вы разрешаете общий доступ к ссылкам - это позволяет идентификатору сеанса пользователя просачиваться как часть URL, что означает, что сеанс очень уязвим для перехвата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...