Защита сайта

Статус
В этой теме нельзя размещать новые ответы.

LEE_ROY

Местный житель
Регистрация
26 Янв 2007
Сообщения
205
Реакции
21
антихак готовый поставь, от damagelab.org даже.
 

admLoki

генератор случайного PHP
Регистрация
14 Сен 2006
Сообщения
481
Реакции
104
Блин. Вот замороты.
А тупо чистить значения переменных не пробовали ?
PHP:
define('MQGPC',get_magic_quotes_gpc());

/**
 * Imports value from array and cleans it out
 * 
 * @param array $array Source array
 * @param string $key Key
 * @param string $mode String mode
 * @param string $maxdig Return limiter
 * @return string
*/
function val_import( $array, $key, $mode='AL', $maxdig=0 ) {
    if(!isset($array) || !isset($array[$key]) || !is_array($array)) return false;
    switch($mode)
        {
        case 'AL':
        $v = alphaonly($array[$key]);
        break;
     
        case 'NU':
        $v = numericonly($array[$key]);
        break;
 
        case 'TXT':
        $v = textonly($array[$key]);
        break;

        case 'SYM':
        $v = sympholsonly($array[$key]);
        break;

        case 'MIX':
        $v = trim($array[$key]);
        if(!eregi('<',$v))
            { 
            continue;
            }
            else
            {
            return false;
            }
        break;
        
        case 'RAW':
            $v = trim($array[$key]);
        break;
        }

    if(defined('MQGPC')) 
        { $v = stripslashes($v); }
    if($maxdig)
        { $v = substr($v,0,$maxdig); }
    return $v;
    }

/**
* function textonly
* @param input text
*/
function textonly($text) {
    return(preg_replace('/[^a-zA-Z_]/', '', $text));
}

/**
* function sympholsonly
* @param input text
*/
function sympholsonly($text) {
    return(preg_replace('/[^!-*-@^_]/', '', $text));
}

/**
* function numericonly
* @param input text
*/
function numericonly($text) {
    return(preg_replace('/[^0-9_]/', '', $text));
}

/**
* function alphaonly
* @param input text
*/
function alphaonly($text) {
    return(preg_replace('/[^a-zA-Z0-9_]/', '', $text));
}
 

Flock

Постоялец
Регистрация
15 Июн 2007
Сообщения
139
Реакции
45
Так он вроде больше не развивается?! А последняя версия выпущена несколько лет назад.
 

CrashX

В прошлом XSiteCMS
Регистрация
6 Июн 2008
Сообщения
682
Реакции
114
совсем недавно работал над данной проблемой, и нашел что с PHP 5.2
появление функций
PHP:
filter_input_array() и filter_var_array()
весьма облегчают задачу фильтрования данных получаемых с формы,
вот в этой теме я искал методы рещения и получения данных пакетным образом и не писал 20-30 проверок на форму которая содержит 20-25 полей
Для просмотра ссылки Войди или Зарегистрируйся
там же есть пример использования данных функций, я же теперь дорабатываю аналог этих фенкций для совместимости с версиями ниже 5.2))
 

NoN

Постоялец
Регистрация
25 Ноя 2008
Сообщения
79
Реакции
33
Использую mod_rewrite+регулярка проверки разрешаю только[a-z_-0-9] и все, остальных послаю на 3 числа - 4 0 4 :D
 

almary

Постоялец
Регистрация
1 Апр 2006
Сообщения
93
Реакции
164
Чтобы не спи... ваш сайт делаем проще:
1. На папки ставим права чтобы нельзя было файлы туда лить
2. Если все-таки есть папка аплоада файлов в ней отключаем php при помощи .htaccess и ему задаем права чтобы нельзя было удалить и перезаписать.

содержание файла .htaccess

3. Если вы включаете полный "paranoid mode" (режим параноика, кто не в теме), покупаем выделенный сервер под свои проекты, дабы через соседей не взломали, либо юзаем мастерхост, с ним пока туговато по взлому

впринципе все основы защиты, чтобы коды не украли, а вот подбор паролей и тд и тп это уже бред, главное чтобы шелл на сервер не залили, а если и зальют чтобы не смогли выполнить.

P.S. а вот про регулярки и мод_реврайт в Зачет, так меня еще никто не смешил. NoN, чисто чтобы еще поржать, как еще защищаешься?

P.S.S. есть еще масса способов защиты и оповещения админа о попытках взлома или взломе, но это уже отдельные разговоры и для каждого проекта бывают свои. Тупо чистить от лишних запросов конечно хорошо, но вот Upload File еще никто не отменял, поэтому решать каждому как защитить свое детище, но основы я описал, они спасут практически любого, если нет "дырявых" соседей на гамнохостинге.

Всем удачи в защите своих проектов ;)
 

PapaJoe

Мой дом здесь!
Регистрация
4 Авг 2008
Сообщения
621
Реакции
316
+1 за masterhost, защита у них хорошая.
Даже если запись в папки запрещена, то всега есть вероятность дырявости двига. А некоторые публичные двиги позволяют использовать php в создании/изменении статических страниц(php-fusion, koobi). Защита от такого разве что в basic-auth в папке с админкой.
 

Anu

Постоялец
Регистрация
19 Окт 2007
Сообщения
136
Реакции
14
Делаю детект на наличие слов, характерных для SQL-инъекций с учетом флага правомерности такой передачи запроса (по сути - локальный флаг для каждого запроса:( (UNION, SELECT, UPDATE, DELETE и т.д.) В случае обнаружения подобной бяки - отправление в ловушку (с записью лога действий пользователя).

Обязательная проверка на наличие конструкций a-ля "./././" если вы включаете файлы, используя данные из принимаемой строки запроса...

Можешь выложить свои наработки по данным вопросам ?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху