powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Обработка пользовательских форм
10 сообщений из 10, страница 1 из 1
Обработка пользовательских форм
    #38772474
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Есть на сайте пользовательская форма, в которую разрешается вводить ссылки.
Задача: защитить форму от ввода вредоносного кода, т.е. исключить в передаваемой строке параметры html, представляющие различные события.

Например, пусть мы имеем форму добавления комментария. Если пользователь введет в форму такое:
<a href="#" onclick="alert(1);">test</a>

То кликнув по этой ссылке в общем списке комментариев может быть запущен вредоносный код.
Соответственно, при обработке формы и записи данных в БД нужно исключить из строки:
onclick, onmouseover, onmouseout и подобные параметры.

Есть ли какая-то готовая функция, типа strip_tags() или нужно чистить ручками через preg_replace()?
Или может быть я не стой стороны захожу и есть более простое решение?
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38772637
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay,
посмотрите как тут сделана кнопка http:// и сделайте тоже самое у себя, а при обработке формы на сервере преобразуйте в ссылку.
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773104
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык кнопка тут сделана средствами JS, насколько я понимаю.
А это бесполезно, т.к. JS можно подменить/подсунуть и т.д.
Меня интересует именно серверная часть.
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773149
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
htmlspecialchars
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773152
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay,

Ответ у тебя прямо перед глазами :) ..... используй псевдокод для ввода ссылок и других html элементов.
Открой редактирование сообщения форума и попробуй кнопки из панели иснтрументов.




и т.д.
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773156
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор



костылиии...
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773177
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowкостылиии...

Ну, наверно все зависит от того, кто, сколько и что именно будет редактировать. Где-то это будет костылем.
Разработчики Wiki решили делать только так .... http://en.wikipedia.org/wiki/Help:Wiki_markup
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773193
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 2014 году разумных аргументов делать так уже нет.
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773652
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow,

а как сейчас делают? у нас где-то тоже такие костыли есть :(
...
Рейтинг: 0 / 0
Обработка пользовательских форм
    #38773661
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
берут и html обрабатывают в тексте.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Обработка пользовательских форм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]