Size: a a a

2021 March 12

ИА

Изя Авраамыч... in OctoberCMS
dim-2g@yandex.ru почта умника
источник

ИА

Изя Авраамыч... in OctoberCMS
источник

ИА

Изя Авраамыч... in OctoberCMS
Вдруг кто знает, привет ему))
источник

ИА

Изя Авраамыч... in OctoberCMS
источник

ИА

Изя Авраамыч... in OctoberCMS
ща только понял
источник

ИА

Изя Авраамыч... in OctoberCMS
с августа 18-го стоял
источник

ИА

Изя Авраамыч... in OctoberCMS
охохо
источник

YV

Ytygov Valeriy in OctoberCMS
Ну не все добрые и пушистые исполнители. Кодинг на Modx не попер и решил подзаработать на особых форумах.
источник

ИА

Изя Авраамыч... in OctoberCMS
Я не говорил, что сайт на Модыксе)
источник

I

Igor in OctoberCMS
Ivan Samodurov
использую macos и mamp
Тоже поначалу мампом пользовался, потом поставил Laravel Valet и жить стало немного легче.
источник

v

vladimir in OctoberCMS
Изя Авраамыч
Для логирования потенциально «Апасных» действий. Глянуть бы ещё содержимое logger.php
источник

v

vladimir in OctoberCMS
Судя по описанию может неопытный школьник. Накалякал свой WAF с логированием всего без отфильтровывания потенциально приватной информации.
источник

v

vladimir in OctoberCMS
Изя Авраамыч
Я не говорил, что сайт на Модыксе)
Первые ссылки по гуглу по почте - https://modx.ru/rabota-na-modx/info/1766/ :))))
источник

ИА

Изя Авраамыч... in OctoberCMS
vladimir
Первые ссылки по гуглу по почте - https://modx.ru/rabota-na-modx/info/1766/ :))))
точно)  я про гугл забыл)))
источник

ИА

Изя Авраамыч... in OctoberCMS
vladimir
Для логирования потенциально «Апасных» действий. Глянуть бы ещё содержимое logger.php
<?php

/*e
.htaccess подключение
php_value auto_prepend_file "/doc_root/logger/logger.php"
*/

$config = array(
 'allow_ip' => array('91.244.169.154',),
 'mailto' => 'dim-2g@yandex.ru',
 'path' => '/var/www/u1651312/data/www/logger/',
 'domain' => $_SERVER['HTTP_HOST'],
 'telegram_chat_id' => '',
 'telegram_token' => '',
 'notification' => array(''), //'notification' => ['telegram','email'],
);

$config['blacklist'] = @include_once($config['path'].$config['domain'].'-blacklist.php');
if (!is_array($config['blacklist'])) $config['blacklist'] = array();

$config['bad_parts'] = getSignatures($config['path'].'signatures.txt');


if ($_SERVER['REQUEST_METHOD'] == 'POST' && !isset($_COOKIE['debug'])){

 //индивидуальные условия отмены обработки данных
 if (CustomAllowAccess()) return;

 //если с разрешенных IP - то не обрабатываем данные
 if (in_array($_SERVER['HTTP_X_REAL_IP'], $config['allow_ip'])) return;

 //проверка данных на запрещенные запросы
 foreach ($_POST as $key => $value) {
   foreach ($config['bad_parts'] as $part){
     if (strpos($key.$value, $part)!==false) {
       LogBlackList($_SERVER['REMOTE_ADDR']);
     }
   }
 }

 LogFull();
 LogFiles();
 LogIp();

 if (array_key_exists($_SERVER['REMOTE_ADDR'], $config['blacklist'])) {
   header('HTTP/1.1 403 Forbidden');
   unset($_POST);
   die('403 Forbidden');
 }
 
}







function WrireLog($filename, $data) {
 global $config;

 $sData = "<?php\n";
 $sData .= "return " . var_export($data, true)."\n";
 $sData .= "?>";
 file_put_contents($filename, $sData);

}

function LogBlackList($ip){
   global $config;

 if (array_key_exists($ip, $config['blacklist'])){
     $config['blacklist'][$ip]++;
 }else{
     $config['blacklist'][$ip] = 1;
     if (in_array('email', $config['notification'])){
       mail($config['mailto'], $config['domain'].' попытка передать потенциально опасный код',"IP:".$ip."\n\nPOST:".var_export($_POST,true));
     }
     if (in_array('telegram', $config['notification'])){
       SendTelegramm($config['domain'].' в BlackList добавлен ip: '. $ip);
   }
 }  
 
 if (is_array($config['blacklist'])){
   WrireLog($config['path'].$config['domain'].'-blacklist.php', $config['blacklist']);
 }
}
function LogFull() {
 global $config;

 ob_start();
 echo "Time:".date('Y-m-d H:s:i').' : '.$_SERVER['REMOTE_ADDR'].' : '.$_SERVER['SCRIPT_NAME'];
 echo "\n"; echo "\n\n"; echo "POST\n"; print_r($_POST); echo "\n\n"; echo "GET\n"; print_r($_GET); echo "\n\n"; echo "SERVER\n"; print_r($_SERVER); echo "\n\n";
 $output = ob_get_clean();
 file_put_contents($config['path'].$config['domain'].'-data.php', PHP_EOL . $output, FILE_APPEND);

}
function LogFiles() {
 global $config;

 $sPath = $_SERVER['REQUEST_URI'];

 $aData = @include_once($config['path'].$config['domain'].'-log.php');
 if (!is_array($aData)) $aData = array();
 if (array_key_exists($sPath, $aData)){
     $aData[$sPath] = $aData[$sPath]+1;
 }else{
     $aData[$sPath] = 1;
     if (in_array('email', $config['notification'])){
       mail($mailto,$config['domain'].' обращение к новому файлу', "file: ".$sPath."\n\nPOST:".var_export($_POST,true));
     }
   if (in_array('telegram', $config['notification'])){
       SendTelegramm($config['domain']." обращение к новому файлу %0A"."file: ".$sPath);
   }
     

 }
 WrireLog($config['path'].$config['domain'].'-log.php', $aData);
}

function SendTelegramm($txt) {
 global $config;

 $fp=fopen("https://api.telegram.org/bot".$config['telegram_token']."/sendMessage?chat_id=".$config['telegram_chat_id']."&parse_mode=html&text={$txt}","r");  
}
     

function LogIp() {
 global $config;
источник

ИА

Изя Авраамыч... in OctoberCMS
vladimir
Для логирования потенциально «Апасных» действий. Глянуть бы ещё содержимое logger.php
$sPath = $_SERVER['REMOTE_ADDR'];
 $aData = @include_once($config['path'].$config['domain'].'-ip.php');
 if (!is_array($aData)) $aData = array();
 if (array_key_exists($sPath, $aData)){
     $aData[$sPath] = $aData[$sPath]+1;
 }else{
     $aData[$sPath] = 1;
 }
 if ($aData[$sPath]==10){
   if (in_array('email', $config['notification'])){
     mail($mailto,$config['domain'].' большое кол-во обращений', 'ip.php: '.$sPath);
   }
   if (in_array('telegram', $config['notification'])){
     SendTelegramm($config['domain'].' большое кол-во обращений', 'ip.php: '.$sPath);
   }
 }
 arsort($aData);
 WrireLog($config['path'].$config['domain'].'-ip.php', $aData);
}


function CustomAllowAccess() {

 if (!empty($_POST['action']) && $_POST['action'] == 'LastTimeOrder') return true;
 if (!empty($_POST['action']) && $_POST['action'] == 'LastTimeBonus') return true;
 if (strpos($_SERVER['REQUEST_URI'], '/manager/')!==false) return true;
 if (!empty($_POST['of-name'])) return true;
 if (!empty($_POST['urlUnijaxFilter'])) return true;

 return false;
}

function getSignatures($path) {
 $parts = array('eval(','base64_decode(','ICRjaCA9IGN1cmxfaW5pdCgpOyBj','from_file',);  
 if (is_readable($path)) {
   $parts = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
 }

 return $parts;
}


?>
источник

v

vladimir in OctoberCMS
Изя Авраамыч
<?php

/*e
.htaccess подключение
php_value auto_prepend_file "/doc_root/logger/logger.php"
*/

$config = array(
 'allow_ip' => array('91.244.169.154',),
 'mailto' => 'dim-2g@yandex.ru',
 'path' => '/var/www/u1651312/data/www/logger/',
 'domain' => $_SERVER['HTTP_HOST'],
 'telegram_chat_id' => '',
 'telegram_token' => '',
 'notification' => array(''), //'notification' => ['telegram','email'],
);

$config['blacklist'] = @include_once($config['path'].$config['domain'].'-blacklist.php');
if (!is_array($config['blacklist'])) $config['blacklist'] = array();

$config['bad_parts'] = getSignatures($config['path'].'signatures.txt');


if ($_SERVER['REQUEST_METHOD'] == 'POST' && !isset($_COOKIE['debug'])){

 //индивидуальные условия отмены обработки данных
 if (CustomAllowAccess()) return;

 //если с разрешенных IP - то не обрабатываем данные
 if (in_array($_SERVER['HTTP_X_REAL_IP'], $config['allow_ip'])) return;

 //проверка данных на запрещенные запросы
 foreach ($_POST as $key => $value) {
   foreach ($config['bad_parts'] as $part){
     if (strpos($key.$value, $part)!==false) {
       LogBlackList($_SERVER['REMOTE_ADDR']);
     }
   }
 }

 LogFull();
 LogFiles();
 LogIp();

 if (array_key_exists($_SERVER['REMOTE_ADDR'], $config['blacklist'])) {
   header('HTTP/1.1 403 Forbidden');
   unset($_POST);
   die('403 Forbidden');
 }
 
}







function WrireLog($filename, $data) {
 global $config;

 $sData = "<?php\n";
 $sData .= "return " . var_export($data, true)."\n";
 $sData .= "?>";
 file_put_contents($filename, $sData);

}

function LogBlackList($ip){
   global $config;

 if (array_key_exists($ip, $config['blacklist'])){
     $config['blacklist'][$ip]++;
 }else{
     $config['blacklist'][$ip] = 1;
     if (in_array('email', $config['notification'])){
       mail($config['mailto'], $config['domain'].' попытка передать потенциально опасный код',"IP:".$ip."\n\nPOST:".var_export($_POST,true));
     }
     if (in_array('telegram', $config['notification'])){
       SendTelegramm($config['domain'].' в BlackList добавлен ip: '. $ip);
   }
 }  
 
 if (is_array($config['blacklist'])){
   WrireLog($config['path'].$config['domain'].'-blacklist.php', $config['blacklist']);
 }
}
function LogFull() {
 global $config;

 ob_start();
 echo "Time:".date('Y-m-d H:s:i').' : '.$_SERVER['REMOTE_ADDR'].' : '.$_SERVER['SCRIPT_NAME'];
 echo "\n"; echo "\n\n"; echo "POST\n"; print_r($_POST); echo "\n\n"; echo "GET\n"; print_r($_GET); echo "\n\n"; echo "SERVER\n"; print_r($_SERVER); echo "\n\n";
 $output = ob_get_clean();
 file_put_contents($config['path'].$config['domain'].'-data.php', PHP_EOL . $output, FILE_APPEND);

}
function LogFiles() {
 global $config;

 $sPath = $_SERVER['REQUEST_URI'];

 $aData = @include_once($config['path'].$config['domain'].'-log.php');
 if (!is_array($aData)) $aData = array();
 if (array_key_exists($sPath, $aData)){
     $aData[$sPath] = $aData[$sPath]+1;
 }else{
     $aData[$sPath] = 1;
     if (in_array('email', $config['notification'])){
       mail($mailto,$config['domain'].' обращение к новому файлу', "file: ".$sPath."\n\nPOST:".var_export($_POST,true));
     }
   if (in_array('telegram', $config['notification'])){
       SendTelegramm($config['domain']." обращение к новому файлу %0A"."file: ".$sPath);
   }
     

 }
 WrireLog($config['path'].$config['domain'].'-log.php', $aData);
}

function SendTelegramm($txt) {
 global $config;

 $fp=fopen("https://api.telegram.org/bot".$config['telegram_token']."/sendMessage?chat_id=".$config['telegram_chat_id']."&parse_mode=html&text={$txt}","r");  
}
     

function LogIp() {
 global $config;
Не похоже на намеренный сбор данных с целью их слива. Больше на дерьмовую реализацию подобия WAF школьником :)
источник

v

vladimir in OctoberCMS
Вероятно он хотел изучать логи заблокированных адресов. Об уровне логирования и о фильтрации персональной информации он не слышал. Как итог пишет все что приходит в запросах.
источник

AN

Artem N in OctoberCMS
Добрый день. А в нем в админке все уже реализовано, модели помещений и т.д. ? Просто что то не странице шаблона скудная информация
источник

DR

Daniel RU in OctoberCMS
Artem N
Добрый день. А в нем в админке все уже реализовано, модели помещений и т.д. ? Просто что то не странице шаблона скудная информация
Сам не использовал и без понятия, к сожалению.
источник