вопрос xss

rtyug
На сайте с 13.05.2009
Offline
263
508

хотел спросить, например, зарегистрированный пользователь редактирует комметарий, и если ошибка какая-то в данных которые он ввел, то я возвращаю этот текст эму обратно в textarea который он ввел (чтобы не тупо было, чтобы ему опять не вводить его заного...)

нужно ли этот текст экранировать от xss?

в чем тут опасность? зарегистрированный пользвоатель может поставить вредоносный JS и мой сайт будет подключатся к другому сайту и там спамить?? НО js все таки стоит на клиенте работает...?

или нужно только тот экранировать который вошел в базу и который будет выводиться всем остальным пользователям?

или нужно ПРОСТО все экранировать что приходит в скрипт от GET POST?

====

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

мой сервер будет как в качетве клиента, и поставит куда-то куки? js выполняется же у клиенте? что тут вредного?

сервер отдал браузеру html, дальше браузер все что хочет то с ним и делает, или нет?

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
wdsg
На сайте с 09.02.2009
Offline
31
#1

rtyug, разумеется, проверять необходимо ВСЕ данные, полученные из вне (включая данные из куков).

нужно ли этот текст экранировать от xss?
в чем тут опасность? зарегистрированный пользвоатель может поставить вредоносный JS и мой сайт будет подключатся к другому сайту и там спамить?? НО js все таки стоит на клиенте работает...?

Вы частично правы относительной безвредности XSS для серверной части системы. Однако, если пользователь, добавляя или изменяя комментарий, напишет нечто вроде "<script type="text/javascript">alert('СВОБОДУ БОРЦАМ ЗА ПРАВА ДОМАШНИХ ТАРАКАНОВ!!!');</script>", данный JS-код будет выполнен в браузере каждого посетителя страницы, содержащей такой комментарий. Как это отразится на репутации ресурса? Следовательно, делаем простой вывод: если предполагается вывод свободного текста, полученного из вне, используем htmlspecialchars().

или нужно ПРОСТО все экранировать что приходит в скрипт от GET POST?

Экранировать характерные символы необходимо перед использованием их в запросе к БД например. Если Вы возвращаете полученные из формы значения полей при ошибке заполнения, экранирование приведёт к добавлению совершенно ненужных слешей. Упрощённо, можно считать, что перед использованием полученных данных в запросе, необходимо сделать addslashes(), а перед выводом полученных данных в браузер, необходимо сделать htmlspecialchars(). Обратите внимание, что на большинстве хостингов magic_quotes_gpc = On, а начиная с PHP 6 экранирование входящих данных включено всегда.

Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
rtyug
На сайте с 13.05.2009
Offline
263
#2

извините, но пользователь вставляет эти данные ТОЛЬКО для себя....

(у меня тут много интейфейсов всяких)

по этому другие пользователи это не увидят

"<script type="text/javascript">alert('СВОБОДУ БОРЦАМ ЗА ПРАВА ДОМАШНИХ ТАРАКАНОВ!!!');</script>"

я с началало подумал что не нужно тут кэранировать, сейчас хотел бы переспросить, может тут атака каким-то образом может быть на куки? хотя не понятно как?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий