如何隐藏php中的url

时间:2010-05-21 07:30:49

标签: php html

是否可以隐藏网络浏览器地址栏中的网址,以使其不一定与文件的位置匹配。 例如,这个网址:

http://localhost/exp/regstuds.php

您将始终知道在哪里可以找到计算机中的文件。 是否有可能以不会泄露文件位置的方式扭曲或混淆或隐藏网址

3 个答案:

答案 0 :(得分:3)

是的,如果您正在使用Apache,请查看使用mod_rewrite。几乎所有其他Web服务器都有类似的重写模块。

我希望你这样做的唯一动机不是“通过默默无闻的安全”。因为如果是的话,你应该停下来,花更多的时间在更有效的事情上。

答案 1 :(得分:2)

如果您在Apache服务器上托管您的php,您可能可以使用mod_rewrite实用程序。您可以在.htaccess文件中添加规则...

RewriteEngine on
RewriteRule ^RegStuds/ regstuds.php

这会导致http://localhost/RegStuds/实际呈现regstuds.php,但不会在地址栏中显示它。

如果您使用的是IIS,则可以使用ISAPI重写过滤器执行相同的功能。

如果您没有mod_rewrite或ISAPI Rewrite Filter,您可以使用文件夹结构获得类似的结果,因此您将拥有RegStuds / index.php的物理路径 - 并且您永远不需要链接到“ index.php“因为它是默认文件。这是最不推荐的做法。

答案 2 :(得分:0)

不,不是。

每个功能位必须具有唯一标识符(URI),以便将请求路由到正确的代码位。映射可以是非线性的,使用各种技巧 - mod_rewrite,前端控制器,内容协商......但这只是模糊了实际发生的事情。

您可以使用前端控制器架构和每个请求使用表单/ POST来捏造浏览器地址栏中显示的内容,但这会很快变得非常混乱。

也许如果您要解释为什么您想要这样做,我们可能会想出更好的解决方案。

下进行。