Сложный вопрос для хорошего понимания CSRF

Мы с другом пьем пиво.

Из википедии:

Требуется секретный, специфичный для пользователя токен во всех формах и побочные URL-адреса предотвращают CSRF; в сайт злоумышленника не может исправить

Злоумышленник может косвенно использовать файлы cookie браузера, но не может использовать их напрямую! Вот почему он не может поместить файлы cookie в ссылку с помощью document.write ()

Давайте посмотрим, как создается ссылка для выхода. Это безопасный способ? Можно ли подделать этот запрос GET?

function logout(){
     echo '<a href="?action=logout&sid='.htmlspecialchars($_COOKIE['sid']).'>Logout</a>';
}

sid - это идентификатор сеанса, генерируемый для каждого сеанса

на стороне сервера, выполняется следующая проверка:

$_GET['sid']==$_COOKIE['sid']
8
задан David Wolever 18 February 2011 в 20:01
поделиться