gpt4 book ai didi

facebook - 允许在受密码保护的站点上共享 FB

转载 作者:行者123 更新时间:2023-12-02 07:46:12 26 4
gpt4 key购买 nike

我有一个正在开发中的站点,该站点使用 apache htpasswd 进行密码保护。

如何排除来自 FB 共享的请求,使其不受密码保护?

意思是,当用户尝试通过浏览器访问时,我仍然希望网站受到密码保护,但如果请求来自 FB 共享 ping,它应该允许。

我看到 FB share ping 有这个用户代理,facebookexternalhit/1.1,但我不确定如何实现它。

谢谢你,
三通

最佳答案

此答案假定您使用的是 Apache 2.1 或更高版本:

使用 mod_authz_host 模块,您可以通过 .htaccess 或 httpd.conf 文件的 部分中的主机名进行访问控制,例如:

<Location />
Allow from apache.org
Allow from .net example.edu
</Location>

请注意,您可以在此处使用部分域名,因此在此示例中将允许访问 www.apache.org。

为确保您安装了 mod_authz_host,请检查您的 httpd.conf 中是否有类似于以下内容的行:

LoadModule authz_host_module modules/mod_authz_host.so

这样做的一个缺点是它会对每次访问进行反向查找,这对您来说可能是也可能不是性能问题。

另一种选择是通过 User-Agent 进行限制。然而,这是一种不可靠的技术,因为 User-Agent 很容易被欺骗。但根据您的偏执程度,它可能适合您的目的 :D

要通过 User-Agent 进行限制,您需要确保除了 mod_authz_host 模块之外还加载了 mod_setenvif 模块。在您的 httpd.conf 中检查类似于以下内容的行:

LoadModule setenvif_module modules/mod_setenvif.so

然后,您可以在 或.htaccess 中配置访问控制,如下所示:

SetEnvIf User-Agent ^facebookexternalhit/1\.1 let_me_in
<Location />
Order Deny,Allow
Deny from all
Allow from env=let_me_in
</Location>

关于facebook - 允许在受密码保护的站点上共享 FB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com