首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何加密Yii2 url

如何加密Yii2 url
EN

Stack Overflow用户
提问于 2016-02-05 14:39:19
回答 1查看 1.9K关注 0票数 2

我想加密Yii2 URL参数示例:http://localhost/school/backend/web/index.php?r=user%2Fview&id=20

20必须加密。

在Yii2中实现这一目标的最简单方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-09-22 10:55:42

尝试对URL的一部分进行加密的问题是,客户端浏览器必须拥有用于加密的密钥。您可以通过HTTPS提供该服务,但这意味着任何人也可以获得密钥。或者,您可以在每个浏览会话中拥有一个键,但这会影响性能,而且可能会导致过度使用。

加密id参数的原因是什么?如果只是为了避免不安全的直接对象引用,那么您可以根据随机数据为用户创建一个散列(每个用户对象都需要一个唯一的哈希)。哈希将使正确猜测另一个对象的哈希变得困难,但并非不可能。本质上,这是由默默无闻而来的安全。

更好的方法是安全地处理查看其他ID。例如,我可以查看自己的对象/用户,但不能查看您的对象/用户。要实现这一点,您应该以编程方式检查用户是否有权查看所述对象。这确实意味着要编写更多的代码,但这是一种非常好的方法。

提交HTTP POST的请求只会保护您不受临时用户的影响。更熟练的用户(或攻击者)只需拦截POST请求,修改值并继续发送。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35226771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档