当我回顾之前编写的代码时,我发现了一些非常糟糕的东西。 每当我想删除数据库中的记录时,我都会这样做:
$.post("deleteAction.do",{recordId:10});
我无法阻止恶意用户直接访问我的数据库操作网址:
deleteAction.do?recordId=10
此类问题的解决方案是什么?
最佳答案
这实际上取决于您的数据以及您在服务器端所做的检查。例如。如果您检查是否允许用户对该记录执行删除操作,那么这并不是一个大问题。如果不这样做,则意味着该用户也可以删除其他用户的数据。我的建议是:
- 在服务器端添加额外检查,以防止用户删除自己的其他数据。
- 除了使用整数之外,您还可以使用 guid 之类的东西,或其他难以更改的标识符(读作:不可预测)。这可以防止“聪明人”尝试破坏您的应用程序。
关于jquery - Ajax 安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2780994/