Dav*_*art 0 javascript security eval code-injection jsfiddle
我需要使用eval()来构建我正在构建的基于JavaScript的Web应用程序.
这样做的原因是我想让人们编写自己的函数来存储为文本,并且可以在网站上重新使用,然后需要再次使用它们.按照jsFiddle的思路思考.
代码将运行并评估,或者作为脚本标记插入.无论哪种方式,它都会让恶意用户开放JavaScript注入网站.因此,我打算过滤提交的代码,或者当用户加载另一个用户的脚本时,有一条警告消息,用户应该在继续之前首先阅读/检查脚本.
到目前为止,我希望过滤/警告以下关键字:
eval
execScript
script
window.*
setInterval
setTimeout
alert
confirm
prompt
document.*
write
innerHTML
insertAdjacentHTML
createElement
appendChild
setAttribute
form.*
submit
XMLHttpRequest
jQuery.*
ajax
base64encode
base64decode
Run Code Online (Sandbox Code Playgroud)
我还没有开始测试,所以这些只是我最初的想法.
有人对此有经验或意见吗?
谢谢,戴夫
没有办法使这个安全 - 角色[]()+!{}可以用来构造任何任意的Javascript代码.
http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html
据我所知,jsFiddle通过在另一个域上的iframe中运行用户生成的代码来工作.它不使用输入过滤.
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |