安全原因 url 部件隐藏


Security reason url parts hiding?

我的程序有一个很大的安全问题,我需要隐藏我的URL的一部分。我在网上搜索了解决方案,但没有运气。在我的程序中,我有管理员和用户帐户 - 该程序只是工人档案的数据库。管理员可以查看所有达析,但其他用户只能查看其工作组中的达析。所以我的问题是,当用户来查看文档时,访问信息的URL如下所示:"viewdosje.php?album=108。问题是用户可以简单地更改专辑ID,他可以看到其他档案,这并不好。例如:

"viewdosje.php?album=109"

通过更改URL中的数字,他可以看到其他档案。隐藏 URL 的那部分会很棒,还是我错了?请帮我提出某种想法。我不知道从哪里开始。

不应隐藏 URL,而应改为验证对应用程序中资源的访问。收到 ID 后,在显示内容之前,请执行数据库查询以查看当前登录用户是否有权访问该资源。

依靠"隐藏"URL是一个糟糕的解决方案 - 任何可以访问URL的人都可以访问您的私人数据。URL可以通过各种方式访问 - 嗅探网络流量(例如在不安全的WIFI点),通过JavaScript,通过猜测,通过访问浏览器历史记录,以及通过各种更可怕的路线,如特洛伊木马,键盘记录器等。

如果这些员工记录中的数据是敏感/私密的,在大多数国家/地区,您有法律义务充分保护它;即使没有法律要求,您的公司也可能希望避免将每个人的工资置于公共领域。

正确的解决方案是设计登录机制,并分配用户权限;当用户尝试访问他们无权访问的页面时,您会向他们发送相应的错误消息。PHP 中有许多解决方案——PEAR 有一个很好的实现。

我没有真正的PHP经验,所以我帮不上忙,但是如果我用JSP或Rails解决这个问题,我可能会执行以下操作:

也许将用户

身份信息存储在cookie中,一旦经过身份验证,将此信息与用户数据库进行比较?防止将网页提供给未经授权的用户手动编辑网址。