【问题标题】:Is there a way to detect if a web client is a puppeteer instance? [duplicate]有没有办法检测 Web 客户端是否是 puppeteer 实例? [复制]
【发布时间】:2019-05-06 12:39:15
【问题描述】:

我想检测访问网站的客户是否使用 puppeteer 而不是真正的用户。

puppeteer 是否添加了一个请求标头,表明请求来自 puppeteer?

编辑:

想象一下我创建了一个网站。我想阻止使用 puppeteer 的用户,因为我希望我的用户成为“真正的”用户(单击按钮的人,而不是模仿按钮单击的脚本)。我想知道是否有任何具体的我可以检查(标题?)可以识别他是木偶而不是真正的人,所以我可以忽略他的请求(即不在数据库中保存任何内容,重定向到错误页面或其他内容)

另一个编辑:

正如@root 所指出的,我可以在浏览器中检测用户代理是否由自动化控制(如 Puppeteer)。虽然这不是我首先想到的(我想检测标头,所以我会忽略/阻止服务器端的处理,然后能够登录以查明使用自动化的用户),如果没有其他的,我会接受它作为答案存在替代方案。

【问题讨论】:

  • 即使是这样,它也是可自定义的,因此您的“过滤器”可能并不准确。你想达到什么目的?
  • 请定义你想要做什么。如果您试图阻止 puppeteer,我认为您将面临很多问题并得到很多误报。
  • @zero298 - 我更新了我的问题。希望现在更清楚了。
  • @Adriano - 无论是否可行,我仍处于研究阶段。只要我可以向客户证明它是合理的,它是否不可行并不重要。请查看我更新的问题。谢谢!
  • 查看我发布的副本的链接。这可能是您正在寻找的。​​span>

标签: puppeteer


【解决方案1】:

如果您的意思是“访问我的网站的客户”和“使用网络驱动程序而不是真正的用户”,您可以在您的网站上添加一个 JavaScript sn-p 来检查 navigator.webdriver,如果是真的,那么网站行为不同。

【讨论】:

  • 哇不知道这个。这非常有用。如果请求来自 Puppeteer,如果无法在服务器端检测到,我会将其标记为替代方案。
猜你喜欢
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 1970-01-01
  • 2020-12-17
  • 2020-08-27
  • 2017-01-04
相关资源
最近更新 更多