Хорошая защита вашего сайта

Тема в разделе "Статьи", создана пользователем Nooba, 15 июл 2015.

  1. Nooba

    Nooba Banned

    Регистр:
    30 ноя 2014
    Сообщения:
    69
    Репутация:
    90
    Баллы:
    30
    Пол:
    Мужской
    // В примере с GET я всё распишу, дальше будет ясно я так думаю =)

    // GET
    foreach($_GET as $key => $value) {

    if(is_numeric($value)) {
    // фильтруем если цифра или число

    // (int) - возводим в целое
    // abs -не даем уйти в минус
    $value = (int) abs($value);

    } else {

    // фильтруем если текст

    // htmlspecialchars - преобразуем html символы в спецсимволы (защита от XSS)
    $value = htmlspecialchars($value);

    // удаляем ', ", % (защита от SQLinj)
    $value = str_replace(array(''','"','%'),NULL,$value);

    // удаляем точки (защита от PHPinj)
    // ^ если нужно оставляем
    $value = str_replace('.',NULL,$value);

    }

    $_GET[$key] = $value;

    }

    // POST
    foreach($_POST as $key => $value) {

    if(is_numeric($value)) {

    $value = (int) abs($value);

    } else {

    $value = htmlspecialchars($value);
    $value = str_replace(array(''','"','%'),NULL,$value);

    $value = str_replace('.',NULL,$value);

    }

    $_POST[$key] = $value;

    }

    // COOKIE
    foreach($_COOKIE as $key => $value) {

    if(is_numeric($value)) {

    $value = (int) abs($value);

    } else {

    $value = htmlspecialchars($value);
    $value = str_replace(array(''','"','%'),NULL,$value);

    }

    $_COOKIE[$key] = $value;

    }

    // SESSONS
    // для тех кто в танке, чтобы фильтр исправно работал нужно стартануть сессии (session_start();)
    foreach($_SESSION as $key => $value) {

    if(is_numeric($value)) {

    $value = (int) abs($value);

    } else {

    $value = htmlspecialchars($value);
    $value = str_replace(array(''','"','%'),NULL,$value);

    }

    $_SESSION[$key] = $value;

    }
    Описание: Представляю вашему вниманию идеальную защиту $_GET,$_POST,$_COOKIE,$_SESSION переменных, т.е всех глобальных переменных вашего сайта.. Всё гениальное просто, не засерайте ваши коды горами функции типа $a = check($_GET['a']); $b = check($_POST['a']); и т.п..функц
     
Похожие Темы
  1. Amerikano
    Ответов:
    0
    Просмотров:
    67
  2. cyber_
    Ответов:
    0
    Просмотров:
    92
  3. cyber_
    Ответов:
    0
    Просмотров:
    101
  4. alex.demger
    Ответов:
    0
    Просмотров:
    110
Загрузка...