заспамили.. надо проверку поставить на метод отправки и сам путь... посмотрю чем можно обезопасить.
В общем, так:
файл core/includes/vt.php
В самом верху, после
<?php
вставляем:
if (!isset($_SESSION['fKey']) || empty($_SESSION['fKey'])) {
$_SESSION['fKey'] = md5(mt_rand(11245, 5469887));
}
$lfKey = $_SESSION['fKey'];
$smarty->assign('fKey', $lfKey);
далее в этом файле находим
if ( isset($_POST["vt_save"]))
заменяем на
if ( isset($_POST["vt_save"]) && $_POST["vt_save"] == 1)
после этой строчки и фигурной скобки ниже, вставляем
if (isset($_POST['fKey']) && $lfKey == $_SESSION['fKey'] && $_POST['fKey'] == $_SESSION['fKey']) {
ниже, после строки
$smarty->assign("UserFName", $_POST['UserFName']);
ставим закрывающий
}
находим
db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", ".$see." ) ");
меняем на
db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", 0 ) ");
С этим файлом работа закончена.
Открываем core/tpl/user/ваш_шаблон/comment.tpl.html
почти в самом низу перед
<input type=hidden name="add_date" value="{$add_date}">
вставляем
<input type="hidden" name="fKey" value="{$fKey}"/>
Итог:
1 - Добавили уникальный ключ сессии и без него (или, если он не совпадает) отправка формы будет не возможна.
2 - Принудительно выставляем 0 для показа. Если сломают уникальность сессии, то как минимум всякая фигня не будет лезть сразу на сайт.
Если это не поможет, то вас попросту сломали и шлют запросы напрямую в БД.
Как исправить - переименовать таблицу с отзывами, и прописать это имя в файле core/config/connect.inc.php