使用 htaccess 阻止所有人,除了来自特定引荐来源网址的访问者

2023-12-21

在 htaccess 中,如何阻止除来自特定域的访问者之外的所有访问者

我尝试了这个但没有成功:

# serve everyone from specific-domain or specific-user-agent 
RewriteCond %{HTTP_REFERER} ^https?://www.specific-domain.com 
RewriteRule ^ - [L]
    
    # everybody else receives a forbidden 
    RewriteRule ^ - [F]
    
    ErrorDocument 403 /forbidden.html

更新:我使用下面的代码取得了一定的成功,但它肯定破坏了我的网页,因为以下参数覆盖或干扰了外观。如果有人知道如何订购它的好方法?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https://authorizedreferer.com
RewriteRule ^ - [L]
RewriteRule ^ https://unprotected.mydomain.com/ [R,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# serve everyone from specific-domain or specific-user-agent 
RewriteCond %{HTTP_REFERER} ^https?://www.specific-domain.com 
RewriteRule ^ - [L]

# everybody else receives a forbidden 
RewriteRule ^ - [F]

这确实允许链接的请求specific-domain.com(即该域是 HTTPReferer)并阻止一切别的。但是,它也会阻止对静态资源的所有请求,这些请求源自你的网站, where 你的域名 is the Referer。因此,您还需要允许来自您的域的请求。

您还应该允许一个空的Referer标头。 IE。当用户在浏览器地址栏中键入 URL 时,直接请求。另请注意,Referer可以通过其他方式抑制标头,具体取决于原始网站设置的引荐来源网址策略。用户自己也可以覆盖Referer标头,因此依赖于Referer标头不可靠。

请尝试以下操作:

# Serve everyone from specific-domain (and internal requests)
RewriteCond %{HTTP_REFERER} ^https?://www\.your-domain\.com/ [OR] 
RewriteCond %{HTTP_REFERER} ^https?://www\.specific-domain\.com/
RewriteRule ^ - [L]

# everybody else receives a forbidden 
RewriteRule ^ - [F]

并允许一个空Referer,包括一个附加条件:

# Serve everyone from specific-domain (and internal requests and empty referer) 
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} ^https?://www\.your-domain\.com/ [OR] 
RewriteCond %{HTTP_REFERER} ^https?://www\.specific-domain\.com/
RewriteRule ^ - [L]

请注意,您当前允许http or https in the Referer。如果这总是https然后具体并删除?(可选量词)。 IE。^https://www\.specific-domain\.com/。并记住反斜杠转义字面点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 htaccess 阻止所有人,除了来自特定引荐来源网址的访问者 的相关文章

  • 在 Elastic beanstalk 上配置 apache

    我正在 elastic beanstalk 上使用 django 进行开发 我想对 apache 配置进行两处更改 1 将 www domain com 重定向到 domain com 2 重定向http domain com http d
  • URL 重写破坏了 CSS 链接

    我使用以下设置进行网址重写 RewriteEngine On RewriteCond REQUEST FILENAME d RewriteCond REQUEST FILENAME f RewriteRule index php url 1
  • Nginx 对 cms 后端的重写规则

    我需要在 nginx 服务器中制定 url 重写规则 服务器块 就像我之前的 apache 服务器一样 这是 htaccess 中的代码 我需要将其实现 转换 到我现有的代码中 RewriteRule A Za z0 9 A Za z0 9
  • 如何防止文件被直接 URL 访问?

    我正在使用 Apache 并且我的目录中有一个示例 Web 文件夹本地主机 喜欢 http localhost test 文件位于test文件夹 index html sample jpg htaccess 样本来源index html i
  • 拒绝访问 .htaccess 中的 .ini 文件是否安全?

    我的 php Web 应用程序中有一个包含敏感信息的 ini 文件 我使用 htaccess 文件拒绝访问它
  • htaccess 重定向非 www http 和 https

    我想要 http example com重定向至 http www example com https example com重定向至 https www example com 以及任何东西http whatever example co
  • 第301章

    Problem 访客打开网址website com i 133r534 213213 12312312但此网址不再有效 需要将其转发到website com 视频 133r534 213213 12312312 我尝试过的 在过去的几个小时
  • 如何强制浏览器使用 .htaccess 下载目录中的所有文件类型?

    我如何告诉浏览器强制下载目录中的所有文件类型 而不是在浏览器中呈现它们 我已经尝试过这个但没有成功
  • URL 重写 .htaccess

    我正准备开发一个具有以下 url 结构的网站 我是 url 重写的新手 想知道处理此问题的最佳方法 http domain com index php http domain com about about php http domain
  • Windows 服务器上的 .htaccess 文件

    我进行了研究 发现我的 htaccess 文件无法在我的新 Windows 服务器上运行 我发现我应该使用 web config 我尝试了一下 但没有任何效果 然后我发现我可以使用 htaccess 文件 但我必须将其命名为其他名称 例如
  • 将旧锚链接重定向到新锚链接

    我正在彻底修改其他人为我的组织构建的网站 它最初设置为 不太好 的锚链接 其中包含空格 我已经用效果更好的新锚替换了这些锚 例子 其中一位老主播看起来像这样 course To Have哪些浏览器会幸运地转换为 course To 20Ha
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • 如何在 .htaccess 文件中创建一个包罗万象的处理程序?

    我想在 htaccess 文件末尾创建一条规则 捕获在此之前未能匹配的所有内容 我怎样才能做到这一点 附 我已经尝试过一切 实际上 我没有 但看起来确实如此 Update 有些人的回复是RewriteRule 或同等内容 这不行 它将匹配一
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 管理面板的 htaccess 重写规则

    我的网络应用程序中有这样的 url 模式 www mysitename com foldername controller method 所有请求的页面首先被重定向到根文件夹上的index php 然后处理请求的页面 但每当我进入管理面板
  • Application.cpp 中的 SoftException:249:无法访问文件

    我有一个包含新闻消息的网站 而在我的 htacces文件我有这行代码 RewriteRule event 0 9 events php id 1 如果我访问 mysite com index event 1 我会得到一个500 intern
  • htaccess:删除扩展名,并重定向到index.php?p=

    RewriteRule a zA Z0 9 index php page 1 L 我之前的代码将 ex domain com about 重写为domain com index php page about 所以现在 我想添加一种安全措施
  • .htaccess 强制“www”。除子域外的所有内容并删除尾随斜杠

    这是我到目前为止所拥有的 Force www RewriteCond HTTPS on RewriteCond HTTP HOST www NC RewriteRule http www HTTP HOST REQUEST URI R 30
  • 阻止搜索引擎抓取目录

    我的网站有这样的 URL 最长 结构 http www example com xyz pqr abcd efgh 123 html http www example com xyz pqr abcd efgh 123 html 因此最多有
  • Apache 2.4 URL 重写:/server/?Server=ServerName 到 /server/ServerName [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我试图简单地将 URL 重写为 server ServerName from server Server ServerName所以这样

随机推荐

  • 如何找出当前运行的express应用程序的NODE_ENV?

    我只是想知道我是否能找出当前的价值是多少NODE ENV 即开发或生产 在快速代码中 所以我不能使用app configure production function Try process env NODE ENV 它应该可以解决问题
  • 按日期访问累计总数

    我需要按在线日期显示我们所有能源项目的累积功率 因此 如果一个项目在 2016 年上线 那么它也在 2017 年和 2018 年上线 应该计入这些总数中 我基本上需要一张可以回答问题的表格 What was our energy capac
  • jQuery 在 if 语句中使用“this”

    我正在使用一个if语句以确定元素是否有子元素 如果它没有任何子元素 我只想对该元素做一些事情 这是我想做的事情的前提 if div a children length gt 0 this hide 所以如果一个 a 标签没有子元素 我想对该
  • 将 JSON 作为类型导入

    如何定义导入的 json 的类型 例如 things foo interface Data things String another String import data from data json Should have type D
  • C++ 无法更改对象的变量

    class ship public int location int length void createship ship ship1 int gridsize function to set ship1 s length and loc
  • 如何删除列表中的复选框

    我懂了堆栈闪电战 https stackblitz com edit list examples file app 2Fselection list 2Fselection list component html具有选择的列表的示例 如下图
  • URLLoader 轮询时卡住

    更新 不知怎的 这在浏览器中运行 flash 时有效 但如果从 IDE 运行则不起作用 如果您遇到同样的问题 您可能想尝试在浏览器中运行 我正在制作一个聊天应用程序 它使用 Flash 和 Actionscript 3 0 从我的服务器重复
  • List.permute 的性能

    我实现了一个费舍尔 耶茨洗牌 http en wikipedia org wiki Fisher E2 80 93Yates shuffle The modern algorithm最近 它使用List permute对列表进行洗牌 并注意
  • 如何使用类似 SQL 的接口 INSERT 到 influxDB 中?

    是否有可能INSERT使用 InfluxDB 上类似 SQL 的接口将数据转换为系列 测量值 是的 您可以简单地INSERT线路协议字符串 https docs influxdata com influxdb v1 6 tools shel
  • 在 JavaScript 对象中将键值分配给另一个键值[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 例如 我知道可以在 Javascript 中设置带有前面键值的键值 var obj one yes two obj one obj two
  • 在 Joomla 中加载另一个模块中的模块

    我绝对是 Joomla 的初学者 我正在尝试在另一个模块中加载一个模块 但我找不到如何执行此操作 我一直在尝试添加 loadposition position 用 position 替换了我想要加载的模块的位置 但它似乎只在文章中起作用 我
  • StatelessSession 在 AbstractEntityPersister (Hibernate) 中被转换为 Session

    我正在尝试对 StatelessSession 进行简单的保存 有人能发现我做错了什么 导致 Hibernate 方法尝试将 StatelessSession 无效转换为 Session 如果有任何反馈 我将不胜感激 我的示例代码 Stat
  • python-click:格式化帮助文本

    这个问题是关于click https click palletsprojects com en 7 x 包裹 帮助的长文本未按预期显示 我尝试使用 b也一样 但似乎影响不大 cmd and powershell相同的代码有不同的结果 为什么
  • 在图像opencv上绘制矩形?

    我已经使用 python 中的 opencv 库加载了一个图像 现在我想使用鼠标绘制一个矩形 但是在绘制矩形时 矩形应该是可见的 以便绘制它的人可以以某种方式放置它 使感兴趣的对象完全可见在矩形中 但我的代码没有产生所需的输出 我的代码是
  • JQuery $('iframe').ready 为什么不起作用?

    我的父页面中有一个很长的 iframe 当您重新加载或单击 i 框架页面内的链接时 它会加载到其中 但纯窗口必须向上滚动 我尝试过各种代码示例 jquery哪个事件比这个更好 https stackoverflow com question
  • Node.js 是 Perl 和 Python 等传统脚本语言的可行替代品吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 是否有开源电子邮件消息(标头、附件等)解析器?

    是否有免费的开源解决方案将原始电子邮件消息 作为一段文本 并返回每个标头字段 每个附件和消息正文作为单独的字段 是的 对于你指出的每一种语言 我自己都在Python 中使用过 尝试仔细阅读您选择的库的库文档 注意 您可能期望有一个 不错的
  • mono:使用 monodevelop 可以进行远程调试吗?

    mono 使用 monodevelop 可以进行远程调试吗 我想远程调试在 CentOS 开发计算机上安装了 monodevelop 的远程 RHEL 服务器上运行的控制台应用程序 这对于 monodevelop 可能吗 这实际上可以通过软
  • 如何限制 haar 级联检测到的人脸数量

    我在情绪检测系统中使用 Haar 级联 我提供给模型的每个视频输入中只有一张脸 这是一项要求 当我运行 Haar 级联模型来检测人脸时 它有一些误报 由于视频中只有一张脸 因此我想选取检测到的最积极的区域并忽略所有其他检测 有没有办法做到这
  • 使用 htaccess 阻止所有人,除了来自特定引荐来源网址的访问者

    在 htaccess 中 如何阻止除来自特定域的访问者之外的所有访问者 我尝试了这个但没有成功 serve everyone from specific domain or specific user agent RewriteCond H