Я хочу защитить свое приложение от атаки отраженного XSS, вызванной передачей сценариев в URL, например:
https://www.myapp.com/profile/?year=2020<script>alert('Boo!');<!--
Каков наилучший способ решения этой проблемы?
Я анализирую каждый запросить параметр и выполнить проверку по регулярному выражению, и в случае, если он пройдет тест, я верну его закодированное значение, используя encodeURIComponent для дополнительного уровня безопасности. Этого достаточно или мне нужно продезинфицировать для лучшей безопасности?
Мой текущий путь:
(regexForYear.test(year) && encodeURIComponent(year)) || 2020