Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   POST делает экранирование 0_о (https://javascript.ru/forum/server/13237-post-delaet-ehkranirovanie-0_o.html)

cuberboy 22.11.2010 11:48

POST делает экранирование 0_о
 
С одной страницы из формы в другую методом POST отсылаю данные после чего в странице результате одиночная ковычка экранируется !!!! какого такого? :blink:

cuberboy 22.11.2010 11:53

Для защиты от кулхацкеров обычно фильтруют или иным образом обрабатывают спецсимволы в получаемые строках, исключая таким образом возможность инъекции вредоносного кода.

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.

Текущие параметры, установленные хостером, можно выяснить самостоятельно. Некоторые хостеры по запросу могут менять настройки.

cuberboy 22.11.2010 11:54

if (!get_magic_quotes_gpc())
{
addslashes_for_array($_POST);
addslashes_for_array($_GET);
addslashes_for_array($_COOKIE);
}

cuberboy 22.11.2010 11:54

думал не типовое ..раньше не было такого . тема закрыта

http://www.php.su/security/?magicquotes


Часовой пояс GMT +3, время: 10:47.