Я просматривал сайт django в поисках проблем с xss. Я подумал, что покрыл это, так как Django делает автоматический побег. Поэтому я поставил обычное оповещение ('foo'); в примерах данных я обнаружил огромную дыру, в которой я использую ajax для перетаскивания данных как json и использую jquery.append для их добавления, но для html ничего не экранируется.
Итак, мой вопрос, как лучше всего это исправить:
- Используйте мою собственную копию simplejson, которая автоматически экранируется на основе параметра.
- Просто убедитесь, что я всегда использую escape () при создании диктов, которые будут выбрасываться json
- Всегда используйте .text на стороне клиента
- Что-то, о чем я не думал
Кажется, что это довольно легкая проблема, чтобы разобраться в этом.