是否应该通过AJAX调用对ID进行加密?

时间:2012-09-25 22:52:19

标签: security

我正在构建一个通过AJAX做很多事情的应用程序,其中很多都需要接受userId或documentmentid,photoid等。

使用这些ID的最佳做法是什么,它们是否应加密(甚至在放入html页面之前?),或者只是发送它们好吗?

2 个答案:

答案 0 :(得分:1)

这取决于你对ID的处理方式。我们正在构建一个在服务器上无状态的应用程序,因此我们将ID作为请求的一部分发送,以便检索实体,应用必要的业务逻辑并将其保留。在这种情况下,我们肯定需要加密ID以防范Insecure Direct Object Reference

还有其他选项,例如,您可以在对该实体应用任何更改之前对服务器上的实体应用授权。这当然假设您具有身份验证功能。在我们的案例中,我们不进行身份验证,因此无论如何这种授权都无效。

只是对此的更新,我们不需要在客户端上未加密的ID,因此它的服务器加密它并在第一个响应中发送。后续请求包括加密的ID。

答案 1 :(得分:1)

如果你真的想要隐藏某些行的ID(来自数据库?),你可以简单地加密它们并将它们设置为cookie。这样你在执行ajax请求时就不必关心它们了,因为无论如何它们都可用。

如果您想进行一些选择并通过表单提交发送它们,则不使用cookie的相同加密方法可以正常工作。

但说实话,我几乎没有理由加密数据库ID。