Я создаю веб-приложение & Я хочу, чтобы пользователи могли вставлять javascript на свою страницу личного профиля. Теперь я знаю, что это открывает огромные проблемы безопасности (xss & человек в средних атаках). Я хочу разрешить эту функциональность, но я хочу сделать это надежно. Может ли кто-нибудь указать мне на какую-то сжатую информацию о том, как это сделать? Я выполнил некоторые поисковые запросы Google, но все это по всему миру.Нужна способность разрешать пользователям безопасно встраивать javascript в свой профиль
ответ
Прежде всего, вы должны встроить все внутри iframe. Лучше всего было бы в поддомене (или даже лучше другом домене), чтобы он не мог получить доступ к тому же самому происхождению (где вы храните файлы cookie пользователей и другое хранилище на стороне клиента)
однако вы можете ждать с использованием того же самого источника (домен), если вы убедитесь, что вы используете песочницы атрибуты правильно, и если вы знаете, если она поддерживается
Установить куки в HTTP-только так Javascript не может получить доступ к ним ...
Во-вторых, я предлагаю вам прочитать подробнее об атрибуте sandboxed, чтобы ограничить, что сценарий может и не может сделать
Наверху все это также можно посмотреть на content security policy, чтобы ограничить, что может и может ' t сделать (это больше похоже на черные/белые списки)
Лучше использовать совершенно другой домен. С субдоменом вы все равно можете установить 'document.domain', чтобы освободить ограничение той же политики происхождения –
Использует ли iframe потенциал для атаки xss полностью? Если это так, я полностью запрещу JS все вместе. Извините, если это глупый вопрос. – LargeTuna
Cookies хорошие :) Symfony по умолчанию все файлы cookie для HttpOnly. – LargeTuna
- 1. Как разрешить пользователям обновлять свой профиль?
- 2. Как разрешить пользователям редактировать свой профиль?
- 3. Как я могу безопасно разрешать веб-пользователям создавать файлы?
- 4. Как я могу дать своим пользователям свой профиль
- 5. Сделать зарегистрированным пользователям свой url
- 6. Нужна способность увольнять сотрудников
- 7. Безопасно разрешать изнутри цепочку обещаний?
- 8. встраивать профиль ICC цвета в ps2pdf Ghostscript
- 9. Встраивать javascript в функцию javascript
- 10. Не разрешать пользователям удалять файлы журнала
- 11. Должен ли я разрешать моим пользователям обновлять свой зарегистрированный адрес электронной почты в приложении SAAS
- 12. Безопасно ли разрешать обещание несколько раз?
- 13. разрешать пользователям, не являющимся администраторами, использовать AdminDirectory с использованием OAuth2
- 14. Вопросы безопасности, позволяющие пользователям добавлять собственный JavaScript на свой сайт?
- 15. Поместите свое приложение в свой профиль Twitter
- 16. Как загрузить SamplePSReadlineProfile.ps1 в свой профиль?
- 17. Django admin: Как разрешить пользователям редактировать профиль?
- 18. Как безопасно разрешить пользователям периодически отправлять код?
- 19. Безопасно ли выставлять ссылки OpenID другим пользователям?
- 20. rbenv: безопасно ли встраивать вызов «bundle exec» в прокладки?
- 21. Как сохранить профиль, чтобы показать каждому пользователю, просмотревшему свой профиль?
- 22. Безопасно ли разрешать запросы CORS веб-сервису web api 2?
- 23. Не разрешать неактивным пользователям войти в систему Laravel
- 24. Разрешить роли не работать, но разрешать пользователям, работающим в web.config
- 25. Разрешить обычным пользователям редактировать свой профиль (электронная почта, изображение и т. Д.)
- 26. Функция javascript теряет способность toggle
- 27. профиль JavaScript в хром?
- 28. Как разрешить пользователям встраивать видео YouTube и Vimeo?
- 29. позволяют пользователям изменять свой пароль, адрес электронной почты и профиля
- 30. Позвольте пользователям удалить свой собственный комментарий PHP
Посмотрите, что делает Stackoverflow со snipplets ... – epascarello