【问题标题】:Htaccess 403 and HTTP_REFERER WildcardHtaccess 403 和 HTTP_REFERER 通配符
【发布时间】:2021-12-30 10:29:16
【问题描述】:

我正在尝试拒绝对我的网站的直接访问和跨域访问,因此我正在尝试使用通配符访问。

只有我的网站和受信任的域才能访问我的资产,如图像、java-script、css 文件等。

我正在尝试像这样 *.example.com 这样它将允许访问所有 https://www.example.com, http://www.example.com, http://example.com, https://example.comhttps://subdomain.example.com

代码:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^ .*\.example\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^ .*\.example\.com$ [NC]
RewriteRule .*\.(txt|ico|jpg|jpeg|gif|png|bmp|js|css)$ - [F,NC,L]

我的资产仍然没有阻止直接访问和跨域。

【问题讨论】:

    标签: html apache .htaccess nginx http-status-code-403


    【解决方案1】:

    你可以用这个:

    RewriteEngine On
    
    RewriteCond %{HTTP_REFERER} !yoursite\.com [NC]
    RewriteRule .*\.(txt|ico|jpg|jpeg|gif|png|bmp|js|css)$ - [F,NC,L]
    

    将您的yoursite.com 替换为上述条件中的主域名。

    【讨论】:

    • 它阻止了 https://portal.example.com/ 和我的资产 https://www.example.com/assets/img/logo.png 。我想要在httpshttp 中为所有子域anything.example.com 启用它
    • @shanmugapradeep 它阻止了example.com下的所有子域httphttps。尝试在子域的每个 htaccess 中使用相同的代码。
    • @shanmugapradeep 抱歉,这是我之前评论中的错字。我的意思是该规则阻止除example.com 及其所有子域之外的所有裁判域。
    • @shanmugapradeep 可能是您的portal.example.com 指向不同的文档根目录并使用不同的htaccess 来提供URL。如果是这种情况,那么您也需要将此代码粘贴到该 htaccess 中。
    • rootexample.com 文件夹,root/portalportal.example.com 文件夹,我看到portal.example.com 有它自己的.htaccess,我猜这是什么问题。我想我必须同时更新.htaccess 文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 2013-08-12
    • 2011-08-16
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多