Наш сайт попал в дохлую спамерскую организацию. Почему дохлую? потому что нечего ломать нас…
Но сейчас не об этом..
Стали спамить в коменты. Причём явно роботы. Причём явно не сильно умные.
Надоело те самые коменты удалять..
Обезопасимся.
Суть метода.
Если человек отправляет комент, то он должен был вписать его в форму на сайте. Если он это сделал, то он пришёл на странцу добавления с нашего сайта. Т.е. нам нужно отсеять часть «людей» которые обращаются к скрипту на прямую..
Делается это на php в два счёта.
В глобальной переменной server есть поле с указанием страници с которой пришёл пользователь.
Первым делом отсеем людей которые вообще без ссылки:
if (!isset($_SERVER[‘HTTP_REFERER’])) {
exit(«some error..»);
}
Мы просто прекращаем выполнять скрипт при отсутствии нужного поля.
Если же в этом поле чтото есть, нужно проверить наш ли это сайт.
Разберём строку со ссылкой. Нам ведь нужен только домен, без остальной требухи.
$url = parse_url($_SERVER[‘HTTP_REFERER’]);
Кроме того в тойже глобальной переменной сервера есть поле с указанием его имени т.е. нашего домена.
Проверка:
if ($url[‘host’] != $_SERVER[‘SERVER_NAME’])
exit(«<br>not how2 domen<br>»);
Вот и всё. Даже если у вас несколько доменов будет выбран нужный. Нет необходимости перечислять в условии их все..
За сим всё.
Источник: malimar.ru