一些用户生成的文本(可能包含脚本/代码)将提交给公众。如果我只是过滤掉所有的<pre>和</pre>标记,并将结果文本与<pre>和</pre>放在一起,那么用户提交的脚本是否有可能被执行呢?
请给我一个如何破解这个保护方案的例子。
发布于 2014-02-28 14:04:05
仅仅过滤掉
<pre>并加上<pre>是否安全?
不是的。
...are是否有可能执行用户提交的脚本?
是的,将执行脚本。你可以自己试一试,把这个放在一页里:
<pre><script>alert("Hi there");</script></pre>显示了alert。
如果要显示用户生成的内容,的第一个步骤是将所有&更改为&,然后将所有<更改为<。
但是最好是针对白名单来解析内容,并且实际上省略了任何您不想包含的内容。
https://stackoverflow.com/questions/22097254
复制相似问题