Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопасное добавление текста на сайте пользователем
 
 автор: Den*s   (25.10.2011 в 15:14)   письмо автору
 
 

Здравствуйте.
Пользователь на сайте добавляет текст.
Как можно обезопасить сайт от вредоносного кода, который может быть передан путём добавления текста
Функция mysql_real_escape_string отпадает, так как стоит панель редактирования текста, а эта функция не пропускает некоторые тэги.

Что нужно проверять при добавлении, кроме кавычек

Я думаю что если в тексте встречаются слова типа <script или .document или .Onclick
То останавливать скрипт.
Может кто встречался с такой задачей, поделитесь опытом ....

  Ответить  
 
 автор: cheops   (25.10.2011 в 15:20)   письмо автору
 
   для: Den*s   (25.10.2011 в 15:14)
 

Обычно весь текст, который вводится пользователем, перед выводом, пропускается через функцию htmlspecialchars(). Это не позволяет задействовать HTML-текст, скрипты. Оформление же текста осуществляется при помощи собственных тэгов, например, bbCode (примерно, как тут, с использованием квадратных скобок).

  Ответить  
 
 автор: Den*s   (25.10.2011 в 15:32)   письмо автору
 
   для: cheops   (25.10.2011 в 15:20)
 

К сожалению требуется панель tinymce примерно с десятком кнопок, я делал проверку путём разбора текста, и если там встречались тэги, которые не прописанные в коде как разрешённые, то текст не добавлялся (в том числе проверка разного рода onClick ). Потребовалось расширить панель, то есть добавить ещё пару кнопок, и я понимаю что это уже не есть гуд.
Сама панель вроде как обрабатывает такие вещи, как код javascript в теле всего текста.

Как быть в таком случае, писать самому проверки на всевозможные "вредности"?

  Ответить  
 
 автор: cheops   (25.10.2011 в 15:34)   письмо автору
 
   для: Den*s   (25.10.2011 в 15:32)
 

Можно сначала преобразовать все примочки tinymce в bbCode, удалить все скрипты при помощи strip_tags(), а потом преобразовать bbCode снова в HTML. Это гарантирует, что ничего лишнего не просочится.

  Ответить  
 
 автор: Den*s   (25.10.2011 в 15:48)   письмо автору
 
   для: cheops   (25.10.2011 в 15:34)
 

спасибо, буду пробовать ...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования