|
|
|
| Здравствуйте.
Пользователь на сайте добавляет текст.
Как можно обезопасить сайт от вредоносного кода, который может быть передан путём добавления текста
Функция mysql_real_escape_string отпадает, так как стоит панель редактирования текста, а эта функция не пропускает некоторые тэги.
Что нужно проверять при добавлении, кроме кавычек
Я думаю что если в тексте встречаются слова типа <script или .document или .Onclick
То останавливать скрипт.
Может кто встречался с такой задачей, поделитесь опытом .... | |
|
|
|
|
|
|
|
для: Den*s
(25.10.2011 в 15:14)
| | Обычно весь текст, который вводится пользователем, перед выводом, пропускается через функцию htmlspecialchars(). Это не позволяет задействовать HTML-текст, скрипты. Оформление же текста осуществляется при помощи собственных тэгов, например, bbCode (примерно, как тут, с использованием квадратных скобок). | |
|
|
|
|
|
|
|
для: cheops
(25.10.2011 в 15:20)
| | К сожалению требуется панель tinymce примерно с десятком кнопок, я делал проверку путём разбора текста, и если там встречались тэги, которые не прописанные в коде как разрешённые, то текст не добавлялся (в том числе проверка разного рода onClick ). Потребовалось расширить панель, то есть добавить ещё пару кнопок, и я понимаю что это уже не есть гуд.
Сама панель вроде как обрабатывает такие вещи, как код javascript в теле всего текста.
Как быть в таком случае, писать самому проверки на всевозможные "вредности"? | |
|
|
|
|
|
|
|
для: Den*s
(25.10.2011 в 15:32)
| | Можно сначала преобразовать все примочки tinymce в bbCode, удалить все скрипты при помощи strip_tags(), а потом преобразовать bbCode снова в HTML. Это гарантирует, что ничего лишнего не просочится. | |
|
|
|
|
|
|
|
для: cheops
(25.10.2011 в 15:34)
| | спасибо, буду пробовать ... | |
|
|
|