POST делает экранирование 0_о
С одной страницы из формы в другую методом POST отсылаю данные после чего в странице результате одиночная ковычка экранируется !!!! какого такого? :blink:
|
Для защиты от кулхацкеров обычно фильтруют или иным образом обрабатывают спецсимволы в получаемые строках, исключая таким образом возможность инъекции вредоносного кода.
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. Текущие параметры, установленные хостером, можно выяснить самостоятельно. Некоторые хостеры по запросу могут менять настройки. |
if (!get_magic_quotes_gpc())
{ addslashes_for_array($_POST); addslashes_for_array($_GET); addslashes_for_array($_COOKIE); } |
|
Часовой пояс GMT +3, время: 10:47. |