Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   фильтрация данных на пхп (https://forum.antichat.xyz/showthread.php?t=57102)

Piflit 01.01.2008 20:55

фильтрация данных на пхп
 
Скрипт работает с mysql. Ему передаются данные типа ников, затем другой скрипт их выводит, т.е. обрезать все спецсимволы нельзя. + нужна поддержка кириллицы. У меня есть два варианта.
1. htmlspecialchars + strip_tags + регулярка (как задать кириллицу? [а-яА-я]?). Тогда какие спецсимволы нужно фильтровать? Я думаю, в самих скриптах не может быть inj, т.к. там используется только insert и select(парамерты жестко заданы), но интересен сам способ.
2. Перед записью конвертить все через ord, а перед выводом chr.

Для защиты от xss достаточно htmlspecialchars() или нужно что-то еще?

Macro 01.01.2008 20:58

Цитата:

Сообщение от Piflit
Скрипт работает с mysql. Ему передаются данные типа ников, затем другой скрипт их выводит, т.е. обрезать все спецсимволы нельзя. + нужна поддержка кириллицы. У меня есть два варианта.
1. htmlspecialchars + strip_tags + регулярка (как задать кириллицу? [а-яА-я]?). Тогда какие спецсимволы нужно фильтровать? Я думаю, в самих скриптах не может быть inj, т.к. там используется только insert и select(парамерты жестко заданы), но интересен сам способ.
2. Перед записью конвертить все через ord, а перед выводом chr.

Для защиты от xss достаточно htmlspecialchars() или нужно что-то еще?

Достаточно сделать htmlspecialchars() и фильтр от кавычек и все. Никаких xss или sql inj не получится

baltazar 01.01.2008 21:04

Ога Макро прав htmlspecialchars() хватит

astrologer 01.01.2008 21:30

Зависит всё же от того, где они выводятся.
Кодировку нужно указать в явном виде против Utf-7

Piflit 01.01.2008 21:42

$var = htmlspecialchars($var);
$var = ereg_replace("((\'\")+)", "", $var);

так?

Цитата:

Сообщение от astrologer
Зависит всё же от того, где они выводятся.
Кодировку нужно указать в явном виде против Utf-7

Выводятся в виде хтмл кода.
Где указать кодировку?

Macro 01.01.2008 21:45

Можно проще.

PHP код:

$var htmlspecialchars($var);
$var str_replace("'","",$var); 


Isis 01.01.2008 21:49

Охохо...если вы думаете что htmlspecialchars спасает от всего, то вы горекодеры...

Piflit 01.01.2008 21:51

Цитата:

Сообщение от Isis
Охохо...если вы думаете что htmlspecialchars спасает от всего, то вы горекодеры...

заинтриговал...

baltazar 01.01.2008 21:51

ну на сколько я знаю htmlspecialchars спасает от скулей и икссс

Piflit 01.01.2008 21:54

а я ничего не знаю =\


Время: 19:10