PDA

Просмотр полной версии : -=FILTRATION=-


vorona
21.09.2009, 10:41
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:

Krist_ALL
21.09.2009, 10:55
Сам то понял что сказал?

vorona
21.09.2009, 11:01
Сам то понял что сказал?
А что здесь понимать то? Нада, чтоб были разрешены все спец символы. ЧТо в таком случае нада фильтровать? Точнее как фильтровать гет или пост - запрос извне, в котором разрешены спец символы.

Krist_ALL
21.09.2009, 11:34
Куда идут данные?
в sql запрос? инклуд?
Если данные постом передаются , то пост фильтровать.
Если гетом, то гет....че тут сложного.
Куда идут данные?
в sql запрос? инклуд?

oldsugar
21.09.2009, 12:20
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:

strip_tags
htmlspecialchars
strip_slashes

Doom123
21.09.2009, 12:40
oldsugar

strip_tags

мда....

ChieFSS
21.09.2009, 12:45
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused:
А к какому языку относится вопрос?
Если к php, то достаточно использования mysql_real_escape_string (mysql_escape_string), а при выводе уже фильтровать (htmlspecialchars, например).

Вообще, при добавлении в mysql фильтровать вообще ничего не надо.
Лучше добавлять данные в чистом виде.

m0Hze
21.09.2009, 12:47
А к какому языку относится вопрос?
Если к php, то достаточно использования mysql_real_escape_string (mysql_escape_string), а при выводе уже фильтровать (htmlspecialchars, например).

Вообще, при добавлении в mysql фильтровать вообще ничего не надо.
Лучше добавлять данные в чистом виде.
Да! Скули придумали чтобы нас пугать,забей на них, %username%!

vorona
21.09.2009, 13:06
Куда идут данные?
в sql запрос? инклуд?
Если данные постом передаются , то пост фильтровать.
Если гетом, то гет....че тут сложного.
Куда идут данные?
в sql запрос? инклуд?
ну например запись в файл.

vorona
21.09.2009, 13:09
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?

ChieFSS
21.09.2009, 13:20
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?
Для файла да.

Doom123
21.09.2009, 15:10
m0Hze фильтрация и экранирование не одно и тоже ;)

Chaak
21.09.2009, 16:21
Допустим все данные из формы A сохраняются в файл B и выводятся на экран в строку C.

A:
<script>alert('xss')</script>
Затем эта форма передается на скрипт и сохраняется в файл C.
Фильтровать на сохранении ничего не надо, достаточно правильно обработать выводимую из файла строку C функцией htmlspecialchars(B);


Т.е вывод - фильтровать на выходе из файла.

vorona
23.09.2009, 20:02
А нулево

vorona
23.09.2009, 20:03
й байт и прочяя херня?

b3
23.09.2009, 20:49
vorona
ты о чем? Выражайся яснее, и думай прежде чем писать, может тогда получится выражатся одним постом.

vorona
23.09.2009, 20:56
Об этом:
Сообщение от vorona
Вобщем, попробую вопрос по другому сформулировать:
достаточно ли фильтрации одной htmlspecialchars для данных, в которых должны быть разрешены все спец. символы?

b3
23.09.2009, 21:37
Смотря для чего, если вводимые данные не будут касаться БД то хватит, иначе по обстоятельствам нужно addslashes() и на выводе stripcslashes()
ЗЫ если ты имел ввиду фильтрацию от NULL байта, то ею болеет только функции eregi() которых в пхп6 небудет уже

vorona
23.09.2009, 22:24
Их полностью не будет? ЧТо, все кода менять или что?

b3
23.09.2009, 23:12
Небудет, использование их в коде будет вызывать ошибку Ядра.
все кода менять или что?
Изначально ненадо было их юзать =)

Qwazar
23.09.2009, 23:18
Как нада фильтровать вводимые данные, если нада разрешить все символы? :confused: Входные данные никак фильтровать не надо. Нужно экранировать спецсимволы когда подставляешь данные в запрос, и прогонять через htmlspecialchars, когда выводишь на экран.

b3
23.09.2009, 23:29
и прогонять через htmlspecialchars, когда выводишь на экран.
если до этого данные обрамлялись addslashes() то на выводе тоже нужно делать stripslashes(), это для Вороны заметка, иначе юзвер регнет ник O'Neal а отображаться будет как O\'Neal

Qwazar
23.09.2009, 23:45
если до этого данные обрамлялись addslashes() то на выводе тоже нужно делать stripslashes(), это для Вороны заметка, иначе юзвер регнет ник O'Neal а отображаться будет как O\'Neal Дык вообще массово данные никак обрамлять не надо, тогда и проблем не будет. Экранировать надо только непосредственно в запросе.

vorona
23.09.2009, 23:50
а что, htmlspecialchars нельзя применять перед записью в файл?

L I G A
24.09.2009, 22:05
а что, htmlspecialchars нельзя применять перед записью в файл?
зачем искажать данные?

vorona
24.09.2009, 23:11
ну разницы ж то никакой. искажишь ты их до записи или после.

b3
25.09.2009, 03:15
ну разницы ж то никакой. искажишь ты их до записи или после.
Ты ничего не понял, никто их не искажает, просто при выводе в браузер нада заменить HTML тэга на аналоги, чтоб небыло XSS или ифреймов к примеру, а при записи в файл фильтровать незачем. При записи в БД нужно обрамлять ковычки, дабы небыло подзапросов, к примеру есть форма для ввода логина и пароля которая не фильтруется, пример:
$sql = "SELECT user,password FROM `users` WHERE user=$_POST['user'] and password = $_POST['password']";
В таком случае можно будет ввести логин: 1' OR 1=1 1 и любое значение в пароль, и авторизация будет успешной, поетому в таких местах стоит экранировать ковычки функцией addslashes();

ЗЫ в примере могут быть ошибки, пишу как говорится "с коленки" но смысл думаю понятен.

vorona
25.09.2009, 09:33
Ты ничего не понял, никто их не искажает, просто при выводе в браузер нада заменить HTML тэга на аналоги, чтоб небыло XSS или ифреймов к примеру, а при записи в файл фильтровать незачем. При записи в БД нужно обрамлять ковычки, дабы небыло подзапросов, к примеру есть форма для ввода логина и пароля которая не фильтруется, пример:

В таком случае можно будет ввести логин: 1' OR 1=1 1 и любое значение в пароль, и авторизация будет успешной, поетому в таких местах стоит экранировать ковычки функцией addslashes();

ЗЫ в примере могут быть ошибки, пишу как говорится "с коленки" но смысл думаю понятен.
понял. спс.

и ещётакой вопросик:
как с помощью цыкла пройти по всем ГЕТ или ПОСТ запросам, которые поступили в скрипт?

vorona
25.09.2009, 09:34
и такой:
какую форму, кроме \0 может принимать нулевой байт в пхп?

d_x
25.09.2009, 09:36
Например, так:

foreach($_GET as $key => $value)
{
$_GET[$key] = что_то_делаем($value);
}

Аналогично с $_POST, $_COOKIE.

А нулевой байт он везде нулевой байт. chr(0).

vorona
25.09.2009, 09:47
Например, так:

foreach($_GET as $key => $value)
{
$_GET[$key] = что_то_делаем($value);
}

Аналогично с $_POST, $_COOKIE.

А нулевой байт он везде нулевой байт. chr(0).
Спасибо!

vorona
25.09.2009, 10:46
кодировка спец символов в %hex как-то защищает?

L I G A
25.09.2009, 17:26
ну разницы ж то никакой. искажишь ты их до записи или после.
разница есть.
К примеру ты захотел заменить все <,>, ' etc...
но нифига не выйдет потому как в файле будет вместо <,>- &lt;&gt;

vorona
25.09.2009, 22:04
разница есть.
К примеру ты захотел заменить все <,>, ' etc...
но нифига не выйдет потому как в файле будет вместо <,>- &lt;&gt;
ясн

vorona
26.09.2009, 09:19
кодировка спец символов в %hex как-то защищает?
???

vorona
27.09.2009, 16:27
защищает?

Doom123
27.09.2009, 16:40
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));

и всё будет отлично ... не будь параноиком ...

vorona
28.09.2009, 20:19
ну лишняя защита не помешает = )

vorona
01.10.2009, 16:07
кодировка спец символов в %hex как-то защищает?
?&

vorona
07.10.2009, 09:42
ну ответтьте пжлст

gisTy
07.10.2009, 09:53
защищает от чего?

vorona
08.10.2009, 08:27
защищает от чего?
ну я ж не знаю = )

gisTy
08.10.2009, 18:08
ты вопрос задай сначала нормально.
Q: еда защищает?
A: от голода - да; от идиотов - нет

vorona
09.10.2009, 10:42
преобразовка спецсимволов в их код что даёт?

gisTy
09.10.2009, 17:10
преобразовка спецсимволов в их код что даёт?
она дает преобразование символов в их код