Защита сайта

Статус
В этой теме нельзя размещать новые ответы.
Можешь выложить свои наработки по данным вопросам ?
пример:
PHP:
/**
 * пример для парса строки ' UNION DELETE FROM mysql.user
 * с логом
 */
function _parse( $input )
{
    $input = strtolower( mysql_real_escape_string( $input ));
    $array = (
        'select', 'union', 'insert', 'delete' // ....
    );  
    if ( in_array( $input, $array )) // запись в лог
    {
        $fp = fopen( 'path/to/logs/' . $_SERVER[ 'REMOTE_ADDR' ], 'a+b' );
        fwrite( $fp, "IP: {$_SERVER[REMOTE_ADDR]}\n" );
        fwrite( $fp, "Time: " . date( 'd.m.Y H:i:s' ) . "\n");
        fwrite( $fp, "Detected param: {$input}" );
        fclose( $fp );
    }  
    // дальнейшие действия
}
 
А никто не писал какого-то класса инспектора для анализа REQUEST на наличие подозрительных сигнатур.
Хотелось бы что-то типа:
$RiskLevel = GetRiskLevel($_REQUEST),
где $RiskLevel получит массив типа:
('xss' => 12, 'inj' => '0') (12 это потенциальный риск в %)
а дальше уже обработка, если значения ниже какого-то предела, то идем дальше, если есть подозрения, то мылим админу и идем дальше, если серьезные подозрения, то мылим админу, и отправляем куда-нить далеко или автоматом делаем whois парсим мыло админа провайдера и мылим абузу. :D
В целом сделать несложно, где бы регулярок потенциальных способов взлома насобирать. Но может кто встречал готовое решение?
Это конечно все паранойя, но лучше перебдеть, чем недобдеть. :)
 
Как уже сказано было выше(и не раз) -идеальная защита у php-fusion а с 7ой версией еще жестче стало тк теперь пасы кодируются в 2ую md5 (md5(md5())) так что ищите защиту-изучайте фюжен, там кстати есть ф-я через которую и пропускаются все входящие(input) данные и по моим наблюдениям, использую эту смс уже 2 года, никогда не подводило, хотя есть проблемы с фотоальбомом(фильтрацией изображений).

А так же добавлю что от иньекций зашишает простота самого кода, тк некоторые делают выводы с ключом из букв (news.php?do=read&id=bla_bla) хотя использование числовых значений намного упрощает жизнь с использованием int().
Так же под защитой можно понимать не только не допускания произвольных действий с системой,но и защита от "случайного" ддос атаки, а это то что делаю все юзверы-насилуют поиск(куча запросов на бд) подчистую и тем самым нагружают так что "мама не горюй", а защита от этого ограничения выдачи страницы во времени, как это реализовано на этом сайте(nulled).Кому интересно уже есть готовое решение
 
swer, это не то, что я хочу.
Проверки проверками, а я хочу стучалку-предупреждалку об аттаке. Какой бы ты не был мегапрограммист, у каждого бывают проколы (ну там пьяный был когда писал какой-то кусок, или бесконечный полет фантазии отвлек от суровой действительности :D).
А так повесил такую проверялку, а дальше смотришь логи. Ага, ломали, ага получилось ... оперативно лотаем.
 
:)
никуда я не улетал, вы бы вместо того что бы искать скрипт который будет записывать "камасутру" который проделывает каждая сотая любопытная варвара лучше бы сами искали собственные дыры, а лучше их вообще не совершать и записи выше вам в этом помогут.Но если все же вам лень искать, копаться в чужом, собственном коде или же все же прочитать пару полезных статей и "выпрямит руки", то за вас это сделают другие а лучше софты


собственно я лишь просматриваю по быстрому логи системы(видете ли есть и такое:D -ненадо изобретать велосипед) и те кто отчаянно ищет папку mysql либо пытается подобрать пассы отправляю в баню
 
:)
Но если все же вам лень искать, копаться в чужом, собственном коде или же все же прочитать пару полезных статей и "выпрямит руки"
Оптимист))) Как показывает статистика ломают проекты, у программистов которых очень прямые руки. Чем больше становиться проект, чем больше людей задействовано в его разработке, тем сложнее не допустить какую-нибудь оплошность.
Сканеры не всегда помогают найти уязвимости.
А мне вот вспомнилась фраза из фильма: "Кто нам мешает - тот нам поможет" . :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху