Насколько я заметил, TinyMCE делает свое собственное экранирование метасимволов, а использование htmlspecialchars () впоследствии будет только загромождать вывод и показывать теги ивроде вместо рендеринга их в браузере.Легко отключить Javascript и ввести вредоносный код, который будет отображаться при посещении контента другим пользователем с включенным Javascript.
Поэтому мне нужно использовать правильную проверку на стороне сервера, но точно - Как - я могу сделать это правильно, учитывая тысячи техник XSS там?Есть ли эффективный способ, который работает для TinyMCE, такой как «использование htmlspecialchars () вместе с TinyMCE?»
До сих пор я составил белый список для разрешенных тегов HTML, замененлюбой javascript:
и аналогичный :void
в содержимом, чтобы попытаться защитить его от встроенного Javascript, например onClick="javascript:void(alert("XSS"));"
, но я чувствую, что этого недостаточно.
Любой совет по этому вопросу был бы очень признателен, ноПомните, что определенное содержимое должно быть правильно отображено на выходе , поэтому я в первую очередь использую TinyMCE.Мне нужно только защищаться от XSS.
Также пока на тему;как я могу защитить себя от CSS XSS, например style="background-image: url(XSS here);"
?