
Это проблема давно существует в интернете - ANTISPAM: User ID not valid при отправке ПМ другому пользователю. Такое сообщение выходит при превышении немного больше времени на написание сообщения, чем это позволяет скрипт (истекает сессия). Существует два решения этой проблемы, но их нельзя назвать правильными. Хак dle для решения проблемы " ANTISPAM: User ID not valid при отправке ПМ ".
Хак дле решения ANTISPAM User ID not valid при отправке ПМ
Внимание: Неудачные способы(!)
Найти
$id_key = $_POST[$_SESSION['id_key']];
Заменить на
$id_key = @$db->safesql($_POST[$_SESSION['id_key']]);
Или же просто удалить систему антиспама в engine/modules/pm.php
if( $id_key == "" or $id_key != $dle_login_hash ) $stop .= "<li>ANTISPAM: User ID not valid</li>"; if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) $stop .= "<li>ANTISPAM: User ID not valid</li>";
А вот и правильное решение данной проблемы!
Это проблема в версиях 9.0 и 9.2, в версии 9.3 достаточно отключение антиспам системы.
Это можно сделать через настройки АЦ > Безопасность (Включить автоматическое блокирование спам программ). Она срабатывает, как для новостей, так и для ПМ.
Предлагаю перенести это скрипт с актуальной версии 9.3 для пенсионеров дле 9.0 и 9.2. Делается это след. образом.
Находим
$id_key = $_POST[$_SESSION['id_key']]; if( $id_key == "" or $id_key != $dle_login_hash ) $stop .= "<li>ANTISPAM: User ID not valid</li>"; if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) $stop .= "<li>ANTISPAM: User ID not valid</li>";
Заменяем на:
if( $config['sec_addnews'] ) { $id_key = $_POST[$_SESSION['id_key']]; if( $id_key == "" or $id_key != $dle_login_hash ) $stop .= "<li>ANTISPAM: User ID not valid</li>"; if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) $stop .= "<li>ANTISPAM: User ID not valid</li>"; }
Все отлично работает протестирована на двух версиях !
Версии: 9.0 - 9.2
«Автор:» F1ST
Предлагаем скачать хаки dle решения ANTISPAM User ID not valid при отправке ПМ