Гарантия того, данные из формы действительно переданы из нашего документа
<?php
$referer = getenv("HTTP_REFERER"
if (!ereg("^http://www.mysite.com",$referer)) {
echo "Хакер - это опущенный человек, у которого не хватает ума создать что-либо своё. © <string>Денис Павлик</string>";
exit;
}
?>
В начало PHP файла.
Теперь, если данные переданы не из форм документа, находящегося на сервере www.mysite.com, хакеру будет выдано
деморализующее сообщение.
прозрение
Добавлено 11.01.15 в 17:41:14:
хаккеру насрать на это сообщение, он рассшатает сайт все равно ахахах
Это просто предупреждение. (Первый этап защиты от CSRF).
Если разработчик нормальный, то он не даст хакеру взломать свой проект.
Лучше уже использовать токены, хоть будешь уверен в 100%-й защите от csrf. Примерно у 5% людей рефереры не передаются => разработчик проекта подставляет их к атаке.
потому что реферрер можно подменить тем же курлом
реферер можно подменить
По крайней мере, надёжнее реферреров. 98% - гарантировано.
Реферер с очень многих, особенно мобильных браузеров, не передается, а значит и у честных юзеров проблемы возникнут. + возможность подмены. И ereg вроде как устарел...
Пишем бота что эмулирует юзера, тащим токен из формы подставляем в куку\сессию всйо обошёл сложна?