【问题标题】:How to block direct access to html page如何阻止对html页面的直接访问
【发布时间】:2017-09-23 22:34:35
【问题描述】:

我有一个子 html(模板)products.html,我使用 JavaScript/jquery 函数 .load() 将它包含在我的 index.html 页面中

现在的问题是products.html如果你输入它的url就可以直接访问,而且它单独给出一个非常丑陋的页面,所以我尝试使用JS函数windows.location将任何试图访问它的人重定向到index.html .这种方法的问题是,当我的模板加载到我的主页中时,js 脚本会触发,并导致页面刷新。那么还有其他方法可以解决这个问题!?

【问题讨论】:

  • 使用 .htaccess 和规则来实现

标签: html


【解决方案1】:

另一种选择:

<body onload="if (document.referrer == '') self.location='index.html';">

【讨论】:

  • @party-ring referrer 属性返回加载当前文档的文档的 URL。因此,假设您访问 mywebsite.com 并单击将您带到 mywebsite.com/products.html/ 的产品。文档引用者将是 mywebsite.com 。但是,如果您直接访问 mywebsite.com/products.html/,则您没有推荐人。你可以在这里阅读更多 - link
  • +1 表示不错的通用方法。另请注意,我在 document.ready 中使用了它,它离开页面的速度比 onload 快。
【解决方案2】:

你可以定义像window.parentPage = true;这样的变量 在 index.html 文件中。

在 products.html 页面中进行如下检查:

if(!window.parentPage)
{
    window.location.href = "YOUR REDIRECTION PAGE"
}

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多