将id从一个页面传递到另一个页面的最佳/最安全的方法是什么?


What is the best/most secure way to pass an id from a page to another?

我正在开发一个PHP/MySQL消息传递应用程序,用户可以在其中看到对话并回复它。在消息的查看页面上,我有一个回复字段。为了保存回复,我需要知道正在回复的消息的ID。我一直在尝试用一种既安全又可靠的方式通过这个ID。带有POST的简单隐藏字段无法做到这一点,因为用户可以篡改数据并修改他正在回答的消息。在视图页面上创建带有消息id的会话变量提供了安全性,但会导致非常不希望看到的副作用:如果用户在打开他正在回复的消息后查看另一条消息,则响应将被发布到另一条消息。

谁有替代方案?

您可以使用mcrypt库加密id,并在url中传递加密后的形式。如果你的用户群的总体智商和西葫芦差不多,你就可以简单地使用Hex或base64进行混淆。否则,mcrypt->base64就绰绰有余了

使用2种ID,如:? ID =45sdf6g78g9s7987sd9f87&id_hash=65d4f98s7gsdg54g98dg