如何阻止对html页面的直接访问

Posted

技术标签:

【中文标题】如何阻止对html页面的直接访问【英文标题】:How to block direct access to html page 【发布时间】:2022-01-22 13:26:29 【问题描述】:

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

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

【问题讨论】:

使用 .htaccess 和规则来实现 【参考方案1】:

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

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

if(!window.parentPage)

    window.location.href = "YOUR REDIRECTION PAGE"

【讨论】:

【参考方案2】:

另一种选择:

<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 快。

以上是关于如何阻止对html页面的直接访问的主要内容,如果未能解决你的问题,请参考以下文章

如何打开放置在iframe html中直接访问阻止目录中的pdf文件

尝试使用导入的 js 函数启动 html 页面时出现“CORS 策略已阻止从源‘null’访问脚本”错误

如何使用spring security根据角色限制对html页面的访问?

如何访问直接放在kudu home/site/wwwroot中的html页面?

html 如何在表单提交后阻止页面重新加载--JQuery

大神们看过来!WEB项目如何阻止直接输入网址跳过登陆进入后台啊