Пуля — дура. Пых — молодец.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 24 Май, 2012, 08:26:52

Страниц: [1] 2
Печать
Автор Тема: Универсальная функция для защиты от XSS  (Прочитано 928 раз)
0 Пользователей и 1 Гость смотрят эту тему.
smackthat    ↓ 
18 Август, 2009, 11:20:09
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

Привет! Ищу функцию, в которую передается html код (для статей, который до этого формируется в tinymce) и которая на выходе выдает очищенный от xss код.
 
Нашел вот что, но оценить качество не могу, так как не силен во всех этих xss атаках:
http://kallahar.com/smallprojects/php_xss_filter_function.php
 
Интересует качественное универсальное решение, без лишнего изучения книг. Что можете посоветовать?
Записан
phpdude    ↓ 
18 Август, 2009, 11:36:38 , спустя 16 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66

нахуй надо?
Спустя 15 секунд добавил
htmlspecialchars = панацея ко всей этой сеошниковской хуйне
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
smackthat    ↓ 
18 Август, 2009, 11:46:27 , спустя 9 минут 49 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

Я сохраняю в базе данных статьи с форматированием. Тоесть там <b> <i> <p> <h1> и так далее. Без этого никак
Записан
Frozzeg    ↓ 
18 Август, 2009, 11:48:07 , спустя 1 минуту 40 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5497
Сила слова: 1.67

юзай bbcode
Записан

Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор.
Отложить на завтра — значит впасть в рекурсию. © Frozzeg
adw0rd    ↓ 
19 Август, 2009, 12:01:08 , спустя 13 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

jevix
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
smackthat    ↓ 
19 Август, 2009, 12:32:48 , спустя 31 минуту 40 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

спасибо, рассматриваю все варианты. Предлагайте еще если что-то знаете. Пишите что используете в такой ситуации.
Записан
adw0rd    ↓ 
19 Август, 2009, 12:40:31 , спустя 7 минут 43 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

smackthat, почитай и попробуй jevix - думаю самое то
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Mr.Pihto    ↓ 
19 Август, 2009, 12:49:38 , спустя 9 минут 7 секунд
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22


Я сохраняю в базе данных статьи с форматированием. Тоесть там <b> <i> <p> <h1> и так далее. Без этого никак
эм.. при выводе данных юзай htmlspecialchars
Записан
smackthat    ↓ 
19 Август, 2009, 11:06:29 , спустя 10 часов 16 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

adw0rd, какойто странный этот jevix, сконфигурировал так:
 
PHP

            // set allowed tags
            $this->jevix->cfgAllowTags(array('p','i','b','u','em','strong','nobr',
                                             'li','ol','ul','sup','sub','h3','br','span'));
 
            // set short tags
            $this->jevix->cfgSetTagShort(array('br','nobr'));
           
            // set allowed atributes
            $this->jevix->cfgAllowTagParams('p', array('style'));
            $this->jevix->cfgAllowTagParams('span', array('style'));
            $this->jevix->cfgAllowTagParams('h3', array('style'));
           
            // other options
            $this->jevix->cfgSetTagCutWithContent(array('script', 'object', 'iframe', 'style'));
            $this->jevix->cfgSetAutoBrMode(false);
 

Тоесть оно должно вырезать все теги с script, style. Так вот я вставил эти теги и вместо того чтобы их вырезать, оно вот что сделало:

&lt;!-- p { font-size: 400%; } --&gt;<p>[removed]// &lt;![CDATA[alert();// ]]&gt;[removed]
Записан
Mr.Pihto    ↓ 
19 Август, 2009, 11:30:07 , спустя 23 минуты 38 секунд
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22

на странице штуки подобного типа &lt; превращаюца в спец символы.. которые не выполняются а просто визуально изображаются
Записан
smackthat    ↓ 
19 Август, 2009, 11:35:28 , спустя 5 минут 21 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

это конешно очень хорошо, но этой функцией
$this->jevix->cfgSetTagCutWithContent(array('script', 'object', 'iframe', 'style'));
должно настроиться удаление тегов вместе с содержанием, а этого не происходит.
 
И еще, может есть какая-то библиотека или функция для оптимизации html кода, тоесть чтобы лишние теги удаляла, там например <span></span>
Записан
phpdude    ↓ 
19 Август, 2009, 11:37:42 , спустя 2 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.66

smackthat, лобочки вы)
 
http://ru2.php.net/tidy - самая адская библиотека. и скрипты при должной настройке отсечет и тп
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Mr.Pihto    ↓ 
20 Август, 2009, 12:29:25 , спустя 12 часов 51 минуту 43 секунды
НЕ ХУЕТА! ХУЕТА!
не выябывайся
Группа: Адекваты

Карма: 17
Сообщений: 1398
Сила слова: 1.22


smackthat, лобочки вы)
 
http://ru2.php.net/tidy - самая адская библиотека. и скрипты при должной настройке отсечет и тп
кто вы?
Записан
smackthat    ↓ 
20 Август, 2009, 01:49:23 , спустя 1 час 19 минут 58 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 2
Сообщений: 470
Сила слова: 0.43

tidy - как я понял заточенна под cleanup, подчистку, валидацию html, но не для защиты от xss. Пока остановился и изучаю http://htmlpurifier.org
Записан
mario    ↓ 
20 Август, 2009, 01:56:36 , спустя 7 минут 13 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09


smackthat, лобочки вы)
 
http://ru2.php.net/tidy - самая адская библиотека. и скрипты при должной настройке отсечет и тп
Записан

с ув. mario.
Контакты
Страниц: [1] 2
Печать
 

Перейти в: