{% else-1 %}
Представляю вашему вниманию идеальную защиту $_GET,$_POST,$_COOKIE,$_SESSION переменных, т.е всех глобальных переменных вашего сайта..

Всё гениальное просто, не засирайте ваши коды горами функции типа $a = check($_GET['a']); $b = check($_POST['a']); и т.п..

                        
// В примере с 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;

}
1 35 0
0

Нет фото
• 17 янв 2015, 09:16


гг..бредокод))

0

Нет фото
• 16 янв 2015, 08:21


nefest, ну да. я и говорю, он заменяет строку на NULL , а я говорю надо на пустую строку ''. так ведь?

0

Нет фото
Nefest * 12.18
• 16 янв 2015, 06:06


Эй афтар это боян, уже было

0

Нет фото
Nefest * 12.18
• 16 янв 2015, 04:25


Craftmann, * NULL это константа, NULL представляет переменную, не имеющую значения

0

Нет фото
GENT * 2.01
• 16 янв 2015, 00:23


А если он будет скриптом флудить?