если до этого данные обрамлялись addslashes() то на выводе тоже нужно делать stripslashes(), это для Вороны заметка, иначе юзвер регнет ник O'Neal а отображаться будет как O\'Neal
Дык вообще массово данные никак обрамлять не надо, тогда и проблем не будет. Экранировать надо только непосредственно в запросе.
Ты ничего не понял, никто их не искажает, просто при выводе в браузер нада заменить HTML тэга на аналоги, чтоб небыло XSS или ифреймов к примеру, а при записи в файл фильтровать незачем. При записи в БД нужно обрамлять ковычки, дабы небыло подзапросов, к примеру есть форма для ввода логина и пароля которая не фильтруется, пример: В таком случае можно будет ввести логин: 1' OR 1=1 1 и любое значение в пароль, и авторизация будет успешной, поетому в таких местах стоит экранировать ковычки функцией addslashes(); ЗЫ в примере могут быть ошибки, пишу как говорится "с коленки" но смысл думаю понятен.
понял. спс. и ещётакой вопросик: как с помощью цыкла пройти по всем ГЕТ или ПОСТ запросам, которые поступили в скрипт?
Например, так: PHP: foreach($_GET as $key => $value) { $_GET[$key] = что_то_делаем($value); } Аналогично с $_POST, $_COOKIE. А нулевой байт он везде нулевой байт. chr(0).
разница есть. К примеру ты захотел заменить все <,>, ' etc... но нифига не выйдет потому как в файле будет вместо <,>- <>
d_x Оо а array_map на что ? ... ТС не парься при выведе на страницу делай htmlspecialchars(); а при вставкев sql запрос делай чтото типо $query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", mysql_real_escape_string($user), mysql_real_escape_string($password)); и всё будет отлично ... не будь параноиком ...