Новый AntiSpam для Vii Engine 3.0 написан и оптимизирован на PHP 8+
Новый AntiSpam для Vii Engine 3.0 написан и оптимизирован на PHP 8+
В платной версии движка сделана поддержка кеша и авто очистки.
function AntiSpam(string $act, ?string $text = null): bool {
global $db, $user_info, $server_time;
if (empty($user_info['user_id'])) {
return false;
}
// Маппинг действий
$actions = [
'friends' => ['id' => 1, 'limit' => 40],
'messages' => ['id' => 2, 'limit' => 40],
'wall' => ['id' => 3, 'limit' => 500],
'identical' => ['id' => 4, 'limit' => 100],
'comments' => ['id' => 5, 'limit' => 2000],
'groups' => ['id' => 6, 'limit' => 5],
];
if (!isset($actions[$act])) {
return false;
}
$actId = $actions[$act]['id'];
$limit = $actions[$act]['limit'];
// Дата
$antiDate = strtotime(date('Y-m-d', $server_time));
// Хеш текста
$txtSql = '';
if ($act === 'identical' && $text !== null) {
$textHash = md5($text);
$textHash = $db->safesql($textHash);
$txtSql = " AND txt = '{$textHash}'";
}
$userId = (int)$user_info['user_id'];
$check = $db->super_query("
SELECT COUNT(*) AS cnt
FROM `" . PREFIX . "_antispam`
WHERE act = '{$actId}'
AND user_id = '{$userId}'
AND date = '{$antiDate}'
{$txtSql}
");
if (($check['cnt'] ?? 0) >= $limit) {
return false; // вместо die
}
return true;
}
function AntiSpamLogInsert(string $act, ?string $text = null): void {
global $db, $user_info, $server_time;
if (empty($user_info['user_id'])) {
return;
}
$actions = [
'friends' => 1,
'messages' => 2,
'wall' => 3,
'identical' => 4,
'comments' => 5,
'groups' => 6,
];
if (!isset($actions[$act])) {
return;
}
$actId = $actions[$act];
$antiDate = strtotime(date('Y-m-d', $server_time));
$userId = (int)$user_info['user_id'];
$txtField = '';
if ($act === 'identical' && $text !== null) {
$textHash = md5($text);
$textHash = $db->safesql($textHash);
$txtField = ", txt = '{$textHash}'";
}
$db->query("
INSERT INTO `" . PREFIX . "_antispam`
SET act = '{$actId}',
user_id = '{$userId}',
date = '{$antiDate}'
{$txtField}
");
}
👉 Логика полностью сохранена.
👉 Просто теперь функция возвращает false, а не убивает весь сайт.
💪 Что вы получили
-
Совместимость с PHP 8
-
Нет TypeError
-
Нет null ошибок
-
Код стал в 3 раза чище
-
Лимиты легко менять
-
Без ломки движка Vii Engine
Информация
Посетители, находящиеся в группе Гости, не могут скачивать файлы с нашего сайта.
Пожалуйста зарегистрируйтесь или авторизируйтесь для доступа к файлу.
Похожие новости
Обсуждение новости
-
Информация
-
Vii Engine NEW
-
DataLife Engine
-
WordPress
-
XenForo
-
IPS
-
Скрипты, Soft, APP, CMS
-
Bootstrap
-
Шаблоны сайтов
-
Web Мастеру
Статистика
Гости1
Роботы2
Список пользователей
Александр Демеденко
Был(a) в сети 10 часов назад
Обновленияnew
Комментарии
Часто задаваемые вопросы
Информация
Скидка на все скрипты 20%! до 8 сентября
Актуальная версия Vii Engine 3.0
Внимание! Сайт мошенников!
Облако тегов
Billing DataLife Engine Final nulled Release WordPress Адаптивный Возможность Сборка Скачать бесплатно версии версия возможности время изображений имеет интернет использования которые модулей модуль можно новостей плагин полностью помощью работы сайт сайта сайтов свой сети системы скрипт социальной также форума шаблон








