Просмотр полной версии : -=FILTRATION=-
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:
Krist_ALL
21.09.2009, 10:55
Сам то понял что сказал?
Сам то понял что сказал?
А что здесь понимать то? Нада, чтоб были разрешены все спец символы. ЧТо в таком случае нада фильтровать? Точнее как фильтровать гет или пост - запрос извне, в котором разрешены спец символы.
Krist_ALL
21.09.2009, 11:34
Куда идут данные?
в sql запрос? инклуд?
Если данные постом передаются , то пост фильтровать.
Если гетом, то гет....че тут сложного.
Куда идут данные?
в sql запрос? инклуд?
oldsugar
21.09.2009, 12:20
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:
strip_tags
htmlspecialchars
strip_slashes
oldsugar
strip_tags
мда....
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:
А к какому языку относится вопрос?
Если к php, то достаточно использования mysql_real_escape_string (mysql_escape_string), а при выводе уже фильтровать (htmlspecialchars, например).
Вообще, при добавлении в mysql фильтровать вообще ничего не надо.
Лучше добавлять данные в чистом виде.
А к какому языку относится вопрос?
Если к php, то достаточно использования mysql_real_escape_string (mysql_escape_string), а при выводе уже фильтровать (htmlspecialchars, например).
Вообще, при добавлении в mysql фильтровать вообще ничего не надо.
Лучше добавлять данные в чистом виде.
Да! Скули придумали чтобы нас пугать,забей на них, %username%!
Куда идут данные?
в sql запрос? инклуд?
Если данные постом передаются , то пост фильтровать.
Если гетом, то гет....че тут сложного.
Куда идут данные?
в sql запрос? инклуд?
ну например запись в файл.
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?
Для файла да.
m0Hze фильтрация и экранирование не одно и тоже ;)
Допустим все данные из формы A сохраняются в файл B и выводятся на экран в строку C.
A:
<script>alert('xss')</script>
Затем эта форма передается на скрипт и сохраняется в файл C.
Фильтровать на сохранении ничего не надо, достаточно правильно обработать выводимую из файла строку C функцией htmlspecialchars(B);
Т.е вывод - фильтровать на выходе из файла.
vorona
ты о чем? Выражайся яснее, и думай прежде чем писать, может тогда получится выражатся одним постом.
Об этом:
Сообщение от vorona
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?
Смотря для чего, если вводимые данные не будут касаться БД то хватит, иначе по обстоятельствам нужно addslashes() и на выводе stripcslashes()
ЗЫ если ты имел ввиду фильтрацию от NULL байта, то ею болеет только функции eregi() которых в пхп6 небудет уже
Их полностью не будет? ЧТо, все кода менять или что?
Небудет, использование их в коде будет вызывать ошибку Ядра.
все кода менять или что?
Изначально ненадо было их юзать =)
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused: Входные данные никак фильтровать не надо. Нужно экранировать спецсимволы когда подставляешь данные в запрос, и прогонять через htmlspecialchars, когда выводишь на экран.
и прогонять через htmlspecialchars, когда выводишь на экран.
если до этого данные обрамлялись addslashes() то на выводе тоже нужно делать stripslashes(), это для Вороны заметка, иначе юзвер регнет ник O'Neal а отображаться будет как O\'Neal
если до этого данные обрамлялись addslashes() то на выводе тоже нужно делать stripslashes(), это для Вороны заметка, иначе юзвер регнет ник O'Neal а отображаться будет как O\'Neal Дык вообще массово данные никак обрамлять не надо, тогда и проблем не будет. Экранировать надо только непосредственно в запросе.
а что, htmlspecialchars нельзя применять перед записью в файл?
а что, htmlspecialchars нельзя применять перед записью в файл?
зачем искажать данные?
ну разницы ж то никакой. искажишь ты их до записи или после.
ну разницы ж то никакой. искажишь ты их до записи или после.
Ты ничего не понял, никто их не искажает, просто при выводе в браузер нада заменить HTML тэга на аналоги, чтоб небыло XSS или ифреймов к примеру, а при записи в файл фильтровать незачем. При записи в БД нужно обрамлять ковычки, дабы небыло подзапросов, к примеру есть форма для ввода логина и пароля которая не фильтруется, пример:
$sql = "SELECT user,password FROM `users` WHERE user=$_POST['user'] and password = $_POST['password']";
В таком случае можно будет ввести логин: 1' OR 1=1 1 и любое значение в пароль, и авторизация будет успешной, поетому в таких местах стоит экранировать ковычки функцией addslashes();
ЗЫ в примере могут быть ошибки, пишу как говорится "с коленки" но смысл думаю понятен.
Ты ничего не понял, никто их не искажает, просто при выводе в браузер нада заменить HTML тэга на аналоги, чтоб небыло XSS или ифреймов к примеру, а при записи в файл фильтровать незачем. При записи в БД нужно обрамлять ковычки, дабы небыло подзапросов, к примеру есть форма для ввода логина и пароля которая не фильтруется, пример:
В таком случае можно будет ввести логин: 1' OR 1=1 1 и любое значение в пароль, и авторизация будет успешной, поетому в таких местах стоит экранировать ковычки функцией addslashes();
ЗЫ в примере могут быть ошибки, пишу как говорится "с коленки" но смысл думаю понятен.
понял. спс.
и ещётакой вопросик:
как с помощью цыкла пройти по всем ГЕТ или ПОСТ запросам, которые поступили в скрипт?
и такой:
какую форму, кроме \0 может принимать нулевой байт в пхп?
Например, так:
foreach($_GET as $key => $value)
{
$_GET[$key] = что_то_делаем($value);
}
Аналогично с $_POST, $_COOKIE.
А нулевой байт он везде нулевой байт. chr(0).
Например, так:
foreach($_GET as $key => $value)
{
$_GET[$key] = что_то_делаем($value);
}
Аналогично с $_POST, $_COOKIE.
А нулевой байт он везде нулевой байт. chr(0).
Спасибо!
кодировка спец символов в %hex как-то защищает?
ну разницы ж то никакой. искажишь ты их до записи или после.
разница есть.
К примеру ты захотел заменить все <,>, ' etc...
но нифига не выйдет потому как в файле будет вместо <,>- <>
разница есть.
К примеру ты захотел заменить все <,>, ' etc...
но нифига не выйдет потому как в файле будет вместо <,>- <>
ясн
кодировка спец символов в %hex как-то защищает?
???
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));
и всё будет отлично ... не будь параноиком ...
ну лишняя защита не помешает = )
кодировка спец символов в %hex как-то защищает?
?&
защищает от чего?
ну я ж не знаю = )
ты вопрос задай сначала нормально.
Q: еда защищает?
A: от голода - да; от идиотов - нет
преобразовка спецсимволов в их код что даёт?
преобразовка спецсимволов в их код что даёт?
она дает преобразование символов в их код
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot