Angelok0803 :
Полезное11 Апр 2015
// В примере с 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;
}
Без категории DCMS-Social.ru - движок социальной сети, вап и веб мастерская, файло-обменник и форум.