Всем добра! В этой теме рассмотри пару полезных кодов для защиты ващего ресурса..
Первый пример:
$_GET - массив
$_GET_KEY - ключ массива
$_GET_VALUE - значение ключа массива
[code]
foreach($_GET as $_GET_KEY => $_GET_VALUE) {
// очищаем от пробелов (от пустых значений)
$_GET_VALUE = TRIM($_GET_VALUE);
// очищаем от символов, которые могут повредить наш SQL запрос (SQLinj)
// если вы используете вот такие кавычки \", то фильтруем их, если \', то фильтруем такие.. я использую \", поэтому буду фильтровать их.. можно использовать mysql_escape_string, но он работает каряво так что лучше вырезать нахер кавычки..
// p.s лучше запросы использовать правильно $id = $_GET[\'id\']; mysql_query(\"select * from `table` where `id` = \'$id\'\" дабы небыло SQL иньекций..
$_GET_VALUE = str_replce(\'\"\',NULL,$_GET_VALUE));
// если число или цифра, то фильтруем
if(is_numeric($_GET_VALUE)) {
// приводим к целому и не даем уйти в минус
$_GET_VALUE = (int) abs($_GET_VALUE);
// если строка, то фильтруем
} else {
// очищаем от html символов [< >] (XSS)
$_GET_VALUE = HTMLSPECIALCHARS($_GET_VALUE);
// также если нужно, убираем точки, можно и слеши поудалять =) защита от (PHPinj)
$_GET_VALUE = str_replce(array(\'.\',\'\\\\\',\'/\'), NULL, $_GET_VALUE);
}
$_GET[$_GET_KEY] = $_GET_VALUE;
}
[/code]
Такую процедуру проводим с $_POST, $_GET, $_COOKIE, $_SESSION и т.п
Итог какой.. нет бесконечного засера кода типо:
[code]
$id = moi_filtr($_GET[id]);
[/code]
и т.п и нет страха взлома =)
Спасибо =)