仅阻止网站的某个子页面

仅阻止网站的某个子页面

是否可以通过修改/etc/hosts文件来只屏蔽网站的某个子页面而不是所有域?例如,我想阻止http://example.com/whatever.html而不是所有域http://example.com。我试着放只是0.0.0.0 http://example.com/whatever.html但它不起作用。

答案1

不。

/etc/hosts用于修改“主机名->IP地址”映射。它可以不是用于“协议层”过滤。

如果您想限制特定页面,那么您需要使用代理服务器之类的东西。可以使用特定规则对其进行编程以允许/拒绝某些页面。然后配置您的浏览器以使用该代理。

一个简单的例子是 Privoxy (https://www.privoxy.org/)但是有很多工具。

编辑添加:或者浏览器插入(例如“ublock origin”或“adblock plus”)可以配置为阻止直接在浏览器内访问页面。

答案2

/etc/hosts只影响你的服务器对外的访问主机(不是这些主机上的位置),并且对于控制对您的网络服务器的访问没有用(除非您关心的唯一用户是当地的用户同一台机器)。

限制访问的常用方法是通过文件.htaccess,您可以将其放入“任何”目录中以控制对该目录及其子目录的访问。与代理服务器一样,使用它也有优点/缺点。其他人通常建议使用 SSL 和身份验证,但这是一个很大的话题。

进一步阅读:

  • Apache HTTP 服务器教程:.htaccess 文件

    .htaccess如果您有权访问 httpd 主服务器配置文件,则应该完全避免使用文件。使用.htaccess文件会降低 Apache http 服务器的速度。可以包含在文件中的任何指令.htaccess最好在目录块,因为它将具有相同的效果和更好的性能。

  • .htaccess 文件的位置(这两个答案都不好)
  • 如何使用 .htaccess 文件

    此外,文件的放置位置也.htaccess很重要。该文件中的配置将影响其目录及其下目录中的所有内容。

答案3

如果您想要一个真正可配置的方法,您可以使用主机文件来执行域级别重定向,然后在本地主机或联网计算机上托管一个过滤器/代理服务器,以便执行协议/文件级别阻止。即使使用简单的 htaccess 或服务器配置文件也可以做到。主机文件将用于将流量重定向到您自己的服务器,然后您的服务器将根据需要进行阻止或重定向。

相关内容