9

我想防止我的网站被其他人点击劫持。所以在我的 .htaccess 文件中,我放置了这段代码(它工作正常):

Header set X-Frame-Options SAMEORIGIN

我的网站现在受到保护,不会被互联网上的任何网站构建。但是,我最近开发了一个移动应用程序,它可以获取我网站上托管的 about-us 下的页面(我的网站包含 www.mywebsite/about-us/author、www.mywebsite/about-us/company)以显示相同的详细信息应用程序。所以我所做的是在我的 .htaccess 文件中添加了以下行:

SetEnvIf REQUEST_URI ^about-us/$ aboutus_page
Header set X-Frame-Options SAMEORIGIN env=!aboutus_page

除了 mywebsite/about-us/“任何页面”下的所有页面之外,我希望我的其余页面不会被 iframe

4

2 回答 2

1

至少在 Apache 2.4 中,%{REQUEST_URI} 不适用于通常的 SPA 类型的 URI。请改用 %{THE_REQUEST}。然后 SetEnvIf 没有那么灵活,所以我建议只使用 // 部分。刚刚测试了以下并且可以工作:

<If "! %{THE_REQUEST} =~ /.*about-us.*/">
  Header set X-Frame-Options SAMEORIGIN
</If>
于 2019-10-24T12:58:55.770 回答
0

您可以在允许 xframe 的文件夹“aboutus”中创建第二个 htaccess 文件。因此它将覆盖外部 htaccess 文件。如果您只想在公司和授权中允许 xframes,您也​​可以将 htaccess 文件放在那里。

于 2019-05-03T07:33:22.987 回答