【问题标题】:PHP - How to avoid passing arguments in urlPHP - 如何避免在 url 中传递参数
【发布时间】:2012-12-03 10:01:25
【问题描述】:
假设我有一个用户列表,并且每一行都有一个 ID。每行都有一个编辑按钮。单击编辑按钮后,我想显示用户信息。现在我在 url 中将 id 作为参数传递。出于安全原因,我想避免这种情况,因为并非所有人都应该查看所有 ID。我在想我应该能够在点击编辑按钮时设置一个会话变量,这样当我的视图加载时,它就可以从会话中加载 id。
单击编辑按钮时如何设置会话变量的任何想法。
有没有更好的选择?
提前致谢。
SK
【问题讨论】:
标签:
url
session
parameters
onclick
【解决方案1】:
在 URL 中传递 id 不是安全问题。 不检查是否允许当前用户访问给定的 id 是一个安全问题。您需要一个身份验证系统。如果不允许访问特定 id 的人尝试这样做,您会以403 Forbidden HTTP 状态拒绝该请求并且不输出信息。
即使会话中有服务器端状态(这严重破坏了 HTTP 请求的幂等性),您仍然需要这样的系统,因为您需要以某种方式在会话中设置 id 并且需要验证是否允许用户将会话设置为某个id。