Для защиты от кулхацкеров обычно фильтруют или иным образом обрабатывают спецсимволы в получаемые строках, исключая таким образом возможность инъекции вредоносного кода.
PHP имеет встроенную возможность экранирования символов слеша и кавычек:
magic_quotes_gpc = 1 – Символы одиночные (‘) и двойные кавычки («), обратный слеш (), байт NULL в данные, получаемых из массивов $_GET, $_POST, $_COOKIE, автоматически экранируются интерпретатором PHP. Перед каждым таким символом добавляется обратный слеш.
magic_quotes_sybase = 1 – Одинарные кавычки экранируются одинарной кавычкой а не backslash.
Если директива magic_quotes_sybase включена (ON) это полностью отменит magic_quotes_gpc. Предоставление обеих директив означает только одиночные кавычки (‘) кавычки, экранируемые как «. Двойные кавычки, наклонные черты влево и ПУСТОТЫ останутся нетронутыми.
magic_quotes_runtime = 1 – Большинство функций, возвращающих данные из внешнего источника любого рода, включая БД и текстовые файлы, будут иметь кавычки, экранированные с помощью обратных слешей. Если magic_quotes_sybase также включена, одинарные кавычки экранируются одинарной кавычкой вместо backslash.
Текущие параметры, установленные хостером, можно выяснить самостоятельно. Некоторые хостеры по запросу могут менять настройки.
|