Блокировка и логи попыток взлома

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
478
Реакции
387
Баллы
63
Веб-сайт
mychatik.ru
Этот мод был взят с несуществующего ныне форума voodoochat.
Хоть он был написан для Voodoo, но работает и на VOC++.
Мод, который делает логи и выдаёт взломщику fatal error:



[HIDE=10]
Находим в chat/inc_common.php строчки:

PHP:
#loading parameters from config file
if(!($conf_content = implode("",file($data_path."voc.conf")))) { trigger_error("Cannot open voc.conf file, please check your DATA PATH parameter",E_USER_ERROR);
}
eval($conf_content);
И прямо НАД ними (ЭТО ВАЖНО!!! ПЕРЕД загрузкой конфига) вставляем:
PHP:
if (!defined("_VOC_CONFIG_")) {
function log_hack($log_string) {
global $data_path;
$f = fopen($data_path.'hacks.log', 'a+');
fwrite($f, $log_string);
fclose($f);
}
$conf = file($data_path."voc.conf");
foreach ($conf as $conf_rec) {
$conf_rec = trim($conf_rec);
if ($conf_rec && strpos($conf_rec, '$') === 0) {
preg_match('/\$([\s\S]+)=/iU', $conf_rec, $varname);
$varname = trim(preg_replace('/\[[\s\S]+\]/iU', '', $varname[1]));
if (isset($$varname) || isset($_GET[$varname]) || isset($_POST[$varname]) || isset($_COOKIE[$varname])) {
$log_string = "Attempt to assign value [".$$varname."] to variable [".$varname."]. IP: [".getenv('REMOTE_ADDR')."]; FIP: [".getenv('HTTP_X_FORWARDED_FOR')."]; USER_AGENT: [".getenv('HTTP_USER_AGENT')."]\n";
log_hack($log_string);
trigger_error("Hacker detected: attempt to assign value [".$$varname."] to CONFIG-variable [".$varname."]. <br>Your IP [".getenv('REMOTE_ADDR')."] <br>and USER-AGENT [".getenv('HTTP_USER_AGENT')."]<br>are logged!", E_USER_ERROR);
exit();
}
unset($$varname);
}
}
}
Логи попыток взлома будут сохраняться в data/hacks.log
[/HIDE]
 
Последнее редактирование:
Сверху Снизу