【问题标题】:What is the best/most secure way to pass an id from a page to another?将 id 从一个页面传递到另一个页面的最佳/最安全的方法是什么?
【发布时间】:2011-10-24 16:35:46
【问题描述】:

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

有人有其他选择吗?

【问题讨论】:

  • 如果你没有服务端的权限去查,如何准确判断用户是否可以回答?
  • 我愿意,但没有什么能阻止人们前往可以回复、发送回复并篡改正在回复的消息的 ID 的消息。
  • 服务器端权限会阻止他...

标签: php session variables post get


【解决方案1】:

您可以使用mcrypt 库对 id 进行加密,并在 url 中传递加密形式。如果您的用户群具有西葫芦的集体智商,您可能会通过简单的 Hex 或 base64 混淆而侥幸逃脱。但除此之外,mcrypt->base64 就绰绰有余了

【讨论】:

  • 谢谢,我想这正是我所需要的。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2010-09-18
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多