我想加密Yii2网址参数 示例:http://localhost/school/backend/web/index.php?r=user%2Fview&id=20
20必须加密。
Yii2中最简单的方法是实现这一目标。
答案 0 :(得分:0)
像这样尝试加密部分URL的问题是客户端浏览器必须具有用于加密的密钥。您可以通过HTTPS提供,但表示任何人都可以获取密钥。另外,您每个浏览会话可能只有一把钥匙,但这会影响性能并且可能会过大。
加密id参数的原因是什么?如果只是为了避免不安全的直接对象引用,则可以基于随机数据为用户创建一个哈希(每个用户对象都需要一个唯一的哈希)。哈希将使很难(但并非不可能)正确猜测另一个对象的哈希。本质上,这就是默默无闻的安全性。
一种更好的方法是安全地处理查看其他ID。例如,可能允许我查看自己的对象/用户,但不能查看您的对象/用户。为此,您应该以编程方式检查用户是否有权查看有问题的对象。这确实意味着编写更多的代码,但这是一种更好的处理方式。
由HTTP POST
提交请求只会保护您免受临时用户的侵害。技术水平更高的用户(或攻击者)只会拦截POST
请求,修改值并将其发送。