从"FIREBUG"保护jquery脚本?

Par*_*ras 1 javascript security jquery firebug

我得编写一个jquery脚本

function DeleteFile(_FileID) { //ajax method to delete the file }

和fileId id出现在列表的rel属性中

现在我的问题是..当我通过传递fileId(我从rel知道)从firebug调用"DeleteFile"时,文件实际上被删除了...这个问题的解决方案是什么?

Spu*_*ley 8

Firebug可以访问所有Javascript变量和函数.其他浏览器中的开发人员工具也是如此.你无法解决这个问题.(事实上​​,因为Firebug和朋友作为浏览器插件运行,他们实际上可以访问一些比网页中包含的普通javascript 更多的内容)

即使Firebug不存在,恶意用户也可以使用其他调试或管理工具来嗅探您的DeleteFile()函数生成的HTTP查询并复制查询,将他想要的任何参数放入GET或POST.可以做到这一点的工具的一个很好的例子是Fiddler,但还有很多其他工具.

简而言之,浏览器环境是一个根本不安全的地方,您的服务器绝不应该盲目信任来自浏览器的任何内容.

而不是试图DeleteFile()从浏览器中保护功能,这是不可能的,你应该保护DeleteFile()发布到的服务器端代码.通过仅允许删除用户具有合法访问权限的文件来保护此代码.

一旦到位,用户开始用Firebug开始攻击前端脚本并不重要,因为他无法做任何他不允许做的事情.可能发生的最糟糕的事情是,他的黑客攻击会使浏览器的显示与服务器上的实际显示不同步,但那将是他自己的错误和他自己的问题; 它不应该对服务器有任何意义.