如何防止我网站路线上的广告拦截器?
How to prevent ad blocker on my site's routes?
在我的 React 网络应用程序(一个内容管理系统)中,我有一个 "Advertisers" 屏幕,用户可以在其中处理 "Advertiser" 实体。
此屏幕与我自己的服务器(同一域)上的端点交互,其中包含单词 "advertiser",例如
GET <domain>/advertiser/31
或者
GET <domain>/info?advertisers
问题是广告拦截器将我的路线识别为有害并阻止对这些路线的请求。
除了重命名我的端点之外,有没有办法克服它?
简答
对于内部应用程序,让您的用户为您网站的域禁用广告拦截器浏览器插件。对于面向 public 的网站,最实用的方法是将 <domain>/advertiser/31
重命名为 <domain>/vendor/31
之类的名称。
广告拦截器按 URL 模式过滤
假设您的 React 内容管理系统仅在企业内部网中使用,您应该对用户环境有一定的控制权。在广告拦截软件中明确包含将您的域列入白名单的说明。
广告拦截器有几种过滤广告的机制,其中之一是 URL 模式匹配。以流行的广告过滤列表EasyList为例。您可以看到 /advertises/*
等模式。如果您的 URL 匹配这些模式中的任何一个,它们将被阻止。
在我的 React 网络应用程序(一个内容管理系统)中,我有一个 "Advertisers" 屏幕,用户可以在其中处理 "Advertiser" 实体。
此屏幕与我自己的服务器(同一域)上的端点交互,其中包含单词 "advertiser",例如
GET <domain>/advertiser/31
或者
GET <domain>/info?advertisers
问题是广告拦截器将我的路线识别为有害并阻止对这些路线的请求。
除了重命名我的端点之外,有没有办法克服它?
简答
对于内部应用程序,让您的用户为您网站的域禁用广告拦截器浏览器插件。对于面向 public 的网站,最实用的方法是将 <domain>/advertiser/31
重命名为 <domain>/vendor/31
之类的名称。
广告拦截器按 URL 模式过滤
假设您的 React 内容管理系统仅在企业内部网中使用,您应该对用户环境有一定的控制权。在广告拦截软件中明确包含将您的域列入白名单的说明。
广告拦截器有几种过滤广告的机制,其中之一是 URL 模式匹配。以流行的广告过滤列表EasyList为例。您可以看到 /advertises/*
等模式。如果您的 URL 匹配这些模式中的任何一个,它们将被阻止。