如何隐藏URL的其他部分

时间:2012-10-16 05:13:01

标签: php .htaccess

我想隐藏这个网址的某些部分

HTTP://localhost/hotel/index.php&安培;做=家

我希望它只显示

的http://本地主机/酒店/家

任何人都可以在php中为我提供最简单的代码吗?谢谢。

1 个答案:

答案 0 :(得分:-1)

以下是在网址中隐藏信息的不同方法:

  1. 使用表单并发布信息。这可能需要源页面中的其他代码,但不应要求目标页面中的逻辑更改(仅将Request.QueryString更改为Request.Form)。虽然POST不是不可能的,但它肯定不如使用QueryString参数那么吸引人。

  2. 使用会话变量来传递页面之间的信息。与(1)相比,这可能是一项更大的工作,因为您需要考虑会话变量检查(例如,如果您经常检查状态,用户可能现在很难使用其后退和前进按钮进行导航) 。您还需要处理未启用会话cookie的情况(此解决方案不适用于这些人)。

  3. 在QueryString中使用“编码”或非感知信息代替实际数据。这将需要在所有页面提交的任一端创建编码和解码方案的努力。当然,用户仍然可以对您的方案进行实验和反向工程,但是他们不太可能快速对现有的QueryString进行有意义的更改。

  4. 使用框架集。我真的不推荐这种方法,虽然它很常见。如果您试图隐藏信息而不是更难以修改,用户仍然可以右键单击各个框架并单击属性,以便检索通过QueryString传递的所有信息。

  5. 使用Server.Transfer将控件移动到第二页,该页仍然可以访问传递给第一页的QueryString参数(其网址只能短暂显示)。

    离开QueryStrings的一个问题是它们会使您的网站更难使用。如果您依赖于(3)以外的任何方法,则用户不可能按原样为当前页面添加书签...他们只能以类似于只是键入URL的方式对页面添加书签的方式in(根据你构建页面的方式,可能甚至不起作用)。因此,在决定信息的真实程度时,请记住这一点,以及您愿意在可用性与安全性之间取得多大的平衡。