Фильтрация входных данных

Статус
В этой теме нельзя размещать новые ответы.

CrashX

В прошлом XSiteCMS
Регистрация
6 Июн 2008
Сообщения
682
Реакции
114
тк раньше я использовал BBCode проблем не было
но после смены на wysiwyg редактор
а именно jWYSIWYG мал, быстр, хорош, функционален.
а теперь о защите раньше все содилось к простым правилам фильтрации данных, и парсингу на ББКоды
теперь тк есть редактор нужно подумать о защите от XSS и инъекций


какие классы, фильтры, регулярные выражения, функции можете по рекомендовать...

интересует все... от а до я
 

CrashX

В прошлом XSiteCMS
Регистрация
6 Июн 2008
Сообщения
682
Реакции
114
пример реализации

Код:
class check
     {
      public function textareaClear($string) // Многостроковые текстовые поля  без перекодировки
            {
             (string)$this->string=$string;
             $this->string=PREG_REPLACE("/[^\w-:\!\?\(\),\.\n ]|INSERT|DELETE|UPDATE|UNION|SET|SELECT|TRUNCATE|DROP|TABLE/i","",$this->string);
             $this->string=PREG_REPLACE("/([\r]?\n)/i","\n",$this->string);
             $this->string=TRIM($this->string);
             if($this->string!=="")
               {
                $stringArray=EXPLODE("\n",$this->string);
                for($i=0;$i<=COUNT($stringArray);$i++)
                   {
                    if($stringArray[$i])  { $textarea[]=PREG_REPLACE("/\s+/"," ",$stringArray[$i]); }
                   }
                $this->string = IMPLODE("\n",$textarea);
               }
             $this->string=TRIM($this->string);
             RETURN $this->string;
            }
 
      public function word($string) // Любой текст, как правило отправляемый приложением, например, как дополнитеьный параметр в функцию, на который извне повлиять невозможно
            {
             (string)$this->string=$string;
             $this->string=PREG_REPLACE("/[^\w- ]|INSERT|DELETE|UPDATE|UNION|SET|SELECT|TRUNCATE|DROP|TABLE/i","",$this->string);
             $this->string=TRIM($this->string);
             RETURN $this->string;
            }
}
 

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Не заметил удаления лишних тегов и чистку ява скриптов а-ля onClick()
 

CrashX

В прошлом XSiteCMS
Регистрация
6 Июн 2008
Сообщения
682
Реакции
114
тут как бы общая очистка без xss
вот мне и интересно кто как фильтрует данные, тк визуальный редактор это палево оень большое... именно поэтому я искал визуальны на ббкодах, нашел но они кирвые а жаль)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху