编码URL并隐藏机密信息

时间:2010-07-16 06:45:38

标签: php browser

如何编码URL或隐藏机密信息不会显示在浏览器中?

例如,我有以下链接:

<a href="path/profileId/<?php echo $this->data['profile_id'];?>Edit</a>

我不希望profileId显示在浏览器中。

Zend或PHP中是否有任何函数或方法可以完成此任务?我是Zend的新手,所以我不知道是否有一个提供这种功能的模板。

2 个答案:

答案 0 :(得分:0)

我想您需要/path/profileId/页面上的某种形式的ID,否则您将不知道要显示哪个配置文件,对吧?如果是这样的话,就不可能完全隐藏它 您可以使用POST请求而不是GET请求,因此ID不会在网址中显示,但它仍会在HTML和请求中显示身体,如果你知道在哪里看。

真正的问题是,为什么开始profile_id保密?如果有人能够通过了解标识符来做坏事,那么您的系统就会遇到很大问题。


您可以在发送信息之前使encrypt信息成为Session并在接收端解密,但这看起来非常荒谬。典型的方法是简单地传递本身毫无价值的令牌,但允许您解析后端的实际数据。最好的例子是{{3}},另一个是传递记录的ID并从数据库中检索相关记录,包括机密信息。

答案 1 :(得分:0)

您可以使用模糊处理。 XOR ID是为了回应它,在处理GET请求时将其异或。

但是你应该有访问控制,是否允许此用户打开此链接?