我必须写一个像这样的 jquery 脚本
函数 DeleteFile(_FileID)
{
//ajax方法删除文件
}
和列表的 rel 属性中存在的 fileId id
现在我的问题是..当我通过传递 fileId(我从 rel 知道)从 firebug 调用“DeleteFile”时,文件实际上被删除了...... 这个问题的解决方案是什么???
最佳答案
Firebug 可以访问所有 Javascript 变量和函数。其他各种浏览器中的开发人员工具也是如此。你无法解决这个问题。 (事实上,因为 Firebug 和它的 friend 们作为浏览器插件运行,它们实际上比包含在网页中的普通 javascript 更多访问某些东西)
即使 Firebug 不存在,恶意用户也可以使用其他调试或管理员工具来嗅探由您的 DeleteFile()
函数生成的 HTTP 查询并复制该查询,将任何参数他想进入GET或POST。可以执行此操作的工具的一个很好的例子是 Fiddler , 但还有很多其他的。
简而言之,浏览器环境从根本上来说是一个不安全的地方,您的服务器不应该盲目地相信来自浏览器的任何东西。
与其尝试从浏览器中保护 DeleteFile()
函数,这是不可能的,您应该保护 DeleteFile()
发布的服务器端代码到。可以通过仅允许删除用户具有合法删除权限的文件来保护此代码。
一旦到位,用户是否开始使用 Firebug 破解前端脚本就真的没有关系了,因为他将无法做任何不允许他做的事情。可能发生的最坏情况是他的黑客攻击会使浏览器的显示与服务器上的实际内容不同步,但那将是他自己的错和他自己的问题;它不应该对服务器有任何意义。
关于javascript - 从 "FIREBUG"保护 jquery 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5743618/