我可以隐藏特定网页的实际网址吗?

时间:2017-09-04 15:13:29

标签: php url-routing

我想隐藏特定网页的网址,以防止用户直接访问该网页。

我有一个表单,用户必须在重定向到www。******。com / xyz.php之前完成。

当他们完成表格并被重定向后,网址是否可以显示为www。******。com?

期待任何建议!

2 个答案:

答案 0 :(得分:0)

虽然这可能不是最佳做法,但您可以为Http Get操作提供一组html,为Http Post操作提供另一组html。您的获取操作可以返回表单,对帖子操作的响应可能会返回您的第二页。

有很多原因,这是一个坏主意,其中包括

  • Http Post意味着导致状态改变,而不是保护访问a 页面
  • 很容易被任何类型的代理或休息客户端击败
  • 浏览器中的导航可能会出现意外行为
  • 用户必须填写每次访问的表单。

最好提出另一种解决方案,例如生成临时访问令牌或设置cookie以表明他们已完成表单。

最佳解决方案可能有争议,但一个简单的解决方案就是有两个.php页面让我们称之为index.phpform.php。当您向index.php发出GET请求时,您的网络服务器已配置为向www.example.com人提供服务。 (执行此操作的确切方法取决于您的服务器软件)。

index.php检查Cookie并在未设置Cookie的情况下重定向到form.phpSee this question/answer for more details

form.php通过提供表单的html和GET请求来响应POST请求,方法是设置Cookie并重定向回index.php

答案 1 :(得分:-2)

在www。****。com的根目录中创建一个名为.htaccess的文件(如果它尚不存在)并在其中添加以下行:

DirectoryIndex xyz.php

这会将所有请求重定向到www。****。com到www. ***。com / xyz.php

因此,如果用户访问www。****。com,则网址(显示在浏览器中)将相同,但加载的网页将为xyz.php

:)