gpt4 book ai didi

php - 在 URL 中发送参数的最佳和安全方式

转载 作者:可可西里 更新时间:2023-11-01 00:00:20 26 4
gpt4 key购买 nike

我在一个网站上工作,该网站具有根据 ID 更新和删除数据的功能。现在我担心的是我的 url 会是

www.example.com/public/controller/action/1

如果操作是删除,任何人都可以在 url 中将 id 从 1 更改为 2,id 为 2 的数据将被删除。保持流程安全的最佳方法是什么。我正在使用 Zf2 和 Doctrine2 ...请提出任何建议!此外,我将 id 隐藏在字段中,任何人都可以使用 firebug 来更改字段中的值,是否有任何方法可以保护数据不受其影响?

是否有任何加密-解密方式可以确保它的安全,就像如果有人甚至编辑加密值,解密后它不会产生所需的 ID?哪个好?

最佳答案

您不必担心当人们更改 URL 中的参数或尝试将某些内容侵入您的 HTML(隐藏字段)时会发生什么,您应该更多地担心您的用户实际上被允许做什么。

例如,如果允许管理员删除所有帖子,那么他是否更改domain.com/post/delete/1 并不重要进入domain.com/post/delete/42 .如果管理员应该删除他们可以删除的所有内容。所以让他们随心所欲地改变它。

但是,如果管理员只被允许获得对他们自己的条目的管理权限,那么您需要将其工作到您的服务层中。服务层将检查当前用户对当前请求对象的权限。我个人最喜欢的是 ZfcRbac .

但是,如果您想让人们更难实际更改 ID,那么您应该为每个条目提供一个唯一的哈希值。因此,例如 url 将是 domain.com/post/delete/12acd-4a7f7c6-4a7f7c6-12acd-4a7f7c6或类似的东西。

TL/DR 不要担心当人们更改 URL/HTML 中的内容时会发生什么,只需担心一般的身份验证和权限。

关于php - 在 URL 中发送参数的最佳和安全方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com