Одна из причин небезопасности веб-сайтов заключается в том, что сделать их безопасными очень сложно.
Настройка и тестирование политики безопасности контента (CSP) может быть сложной и трудоемкой задачей. Значение и фактическая работа некоторых опций CSP могут быть неясны.
Сейчас у меня есть CSP, но трудно сказать, не было ли что-то упущено.
Кроме того, есть флаг HttpOnly, который запрещает переменной JavaScript браузера document.cookie возвращать текущие значения файлов cookie (что может позволить кому-то перехватить ваш сеанс входа в систему).
Я потратил часы, пытаясь установить этот флаг в значение true. Я попытался установить HttpOnly в web.xml и в context.xml. Это не сработало.
Я установил плагин cookie для Grails. В документации сказано, что этот плагин поддерживает настройку файлов cookie. Есть флаг конфигурации HttpOnly. Это не сработало.
Плагин cookie также поддерживает получение файлов cookie и установку флага HttpOnly из Java/Groovy. Это тоже не сработало.
Хотя подключаемый модуль EatThisCookie не показывает установленный флаг HttpOnly, подключаемый модуль cookie отображает cookie и параметры cookie в файле журнала (не очень хорошая функция, если ваш файл журнала скомпрометирован). Это показывает, что HttpOnly установлен.
Однако… document.cookie по-прежнему возвращает зашифрованное значение cookie. Когда я пытаюсь использовать значение cookie из document.cookie или подключаемого модуля EatThisCookie для создания сеанса из браузера в режиме инкогнито, это не работает. Так кто знает…
Безопасность важна, и я смог улучшить безопасность под землей. Но добавление функций в nderground тоже важно.
Я работал над поддержкой фотогалереи для nderground, когда меня отвлекла эта охота на снайперов.
На данный момент я достаточно развлекся с безопасностью, и я собираюсь вернуться к работе над функцией галереи.
Итог: обеспечение безопасности может быть трудным и трудоемким.