Я посмотрел на эта почта, но я не понимаю, если использовать этот код
Я уязвим для атак фиксации сессии:
myPage.php
<?php
ini_set("session.use_cookies",0);
ini_set("session.use_only_cookies",0);
ini_set("session.use_trans_sid",1);
session_start();
$_SESSION['myName'] = "myNameIsOk";
if($_SESSION['myName'] === "myNameIsOk" ){
print_r($_SESSION);
print_r($_COOKIE);
}
?>
Я использую только этот код, как он есть, и я не использую параметры URL или любой другой материал, поэтому
этот код уязвим для атак фиксации сессии php? Если да, то как? Я не эксперт php ..
Можете ли вы опубликовать пример атаки?
Атака фиксации сеанса может добавляться, когда вы используете url для передачи идентификатора, например:
http://unsafe.example.com/?SID=I_WILL_KNOW_THE_SID
Если другой человек посетит эту ссылку, он может получить доступ к учетной записи других людей.
Чтобы избежать этого, вы не должны принимать идентификаторы сеанса из переменных GET / POST.
Не используйте:
ini_set("session.use_trans_sid",1);
Но :
ini_set("session.use_trans_sid",0);
Это отключить прозрачную поддержку SID.
Управление сеансами на основе URL имеет дополнительные риски безопасности по сравнению с управлением сеансами на основе файлов cookie. Пользователи могут отправлять URL-адрес, который содержит активный идентификатор сеанса, своим друзьям по электронной почте, или пользователи могут сохранять URL-адрес, содержащий идентификатор сеанса, в свои закладки и, например, всегда получать доступ к своему сайту с одинаковым идентификатором сеанса.
Вы можете прочитать больше о фиксации сессии здесь:
Других решений пока нет …