问题标签 [anti-bot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

ip - 通过记住成功的验证码用户来减少验证码调用

我正在寻找一种解决方案来减少我需要拨打的验证码电话的数量。

我有一个网站,允许免费使用一个带有文本框和按钮的应用程序。用户可能会使用 10 次,因此我调用了 10 次验证码。然而,这增加了我无法继续负担的荒谬费用。我需要一个解决方案来跟踪成功的验证码,这样如果成功,用户只会收到一个验证码。

我的想法:

  1. 成功验证码
  2. 在 redis 中存储真实的用户标识符(散列 IP、用户代理和 WebRTC(不完全了解这是什么,但建议我使用它))
  3. 未来的调用通过检查用户的哈希标识符来检查用户是否有效(TTL 为 90 天)

还有其他建议或建议吗?有什么潜在的问题吗?

PS:此用例中有关 WebRTC 的信息也会有所帮助

0 投票
1 回答
1544 浏览

python - 无法使用 python selenium 登录耐克

我知道已经有另一个非常相似的问题,但我的有点不同。问题是,您无法使用 Selenium 登录 Nike。它对我来说一直有效,但不知何故它停止了工作。我正在阅读有关如何绕过它并找到解决方案的信息,只使用较旧的 chrome 版本(我正在使用 chrome 驱动程序)。那行得通,但现在它再也没有了,耐克再次阻止了登录。我使用的旧版本是 79。很久以前对我有用的新版本现在是最新版本是 90。这是我的代码,它试图登录到耐克:

有人知道为什么它会阻塞硒吗?我的意思是手动我可以登录,所以不是因为帐户。

0 投票
0 回答
488 浏览

validation - 使用 greptcha.reset() 方法时出现“范围错误:超出最大调用堆栈大小限制”

我正在使用 google recaptcha V2 进行验证码验证。最近,我在使用grecaptcha.reset()方法重置验证码时遇到问题。

请参阅下面的错误截图:

在此处输入图像描述

在 google recaptcha 演示网站中检查了相同的场景,并且存在相同的问题。

有人能帮忙吗?是否有任何解决方法。提前致谢。

0 投票
0 回答
227 浏览

python - 如何在 Selenium Python 中获得类似人类的鼠标点击?

我想登录一个具有反机器人的页面,该页面跟踪您的鼠标移动并根据该鼠标移动来决定您是否是机器人。

我的问题是,在 selenium 中是否有可能在网站的某些特定部分上进行类似鼠标点击的操作?我听说过“幽灵光标”,但我认为这只适用于 Puppeteer。否则我可以使用 Pyautogui,但是我必须让浏览器窗口一直打开。而使用 Pyautogui 我会受到限制,无法同时运行多个测试。

PS:我发现我必须点击网站的某些部分,我可以与之交互,例如输入窗口。

0 投票
0 回答
47 浏览

javascript - 无法通过 testcookie-nginx-module

我目前正在使用 esp8266 构建 wifi 控制的 rgb led 条纹。我想通过网站控制 mcu,所以我的想法是设置一个服务器来托管网站并让 Arduino 定期查询服务器以获取更新(它比这更复杂,但这与这篇文章无关)。

但这就是我的问题所在:Infinityfree(我网站的主机)像大多数其他托管服务提供商一样使用一个简单的反机器人模块(testcookie-nginx-module)来检查客户端是否可以执行 javascript 作为反机器人措施. 客户第一次连接到 infinityfree 网站时,他们会收到以下脚本:

此脚本生成一个字符串并将其作为 cookie 保存在客户端浏览器中。下次客户端连接到网站时,该字符串会作为 http 标头传递给服务器,以便服务器识别客户端并响应网站。然而,由于微控制器不能执行 javascript,它唯一收到的是必须启用 javascript 才能工作的信息。

我做了一些研究,很多其他人也有同样的问题。该问题的常见解决方案是事先在浏览器中生成 cookie,因为 cookie 是静态的(标题键:“Cookie”,标题值:“__test=[THE_CONTENT_OF_YOUR_COOKIE]; expires=Thu, 31-Dec-37 23:格林威治标准时间 55:55; path=/") 您可以将其作为您的 http 请求的标头发送以绕过模块。我使用邮递员测试了此解决方案,但它不起作用。我要么弄乱了标头值,要么错误地使用了邮递员(以前从未使用过它)。

我的饼干:__test=cf2bd8c5785c8e65a8ebd1b58eb666f7; expires=周四,31-Dec-37 23:55:55 GMT;路径=/

邮递员截图:

邮差

我的消息来源:

-https://blog.kwiatkowski.fr/?q=en/testcookie

如果我遗漏了一些明显的东西,我很抱歉,我以前从未在网站上工作过,我仍然需要学习这个项目所需的很多东西。

0 投票
0 回答
51 浏览

javascript - Cloudscraper 无法解决正常的 JS 检查 Cloudflare 挑战

我在受Cloudflare保护的网站上使用 cloudcraper 包(PyPIGithub)来处理 Web 请求。

我很清楚这个包还不能解决一些挑战,特别是带有recaptchas的“v2挑战”等等。

但是,对我来说,该软件包似乎根本不起作用。当我使用GET请求时

其中 s 是 Cloudscraper 会话对象,我经常得到一个带有以下标题的 HTML 页面:“需要注意!| Cloudflare”。这是标准的 Cloudflare Javascript 挑战,它只是检查浏览器是否支持 JS

我不知道为什么会这样。我确定

  • 我有一个“现实的”用户代理集,其中 Chrome 设置为浏览器参数

    cloudcraper.CloudScraper() 构造函数。

  • 请求是定时的并且不是太快,我在请求之间等待

  • 我已经安装了所有的软件包要求,这意味着除了 cloudcraper 本身之外,还有 requests、requests-toolbelt 和 js2py 作为引擎

Github repo 上没有问题部分。

Javascript 检查是 Cloudflare 可以向我们提出的最简单的挑战。尽管如此,这个以解决一些 Cloudflare 挑战为唯一目的的软件包,甚至无法通过这个简单的检查。

我在看什么?Cloudflare 让 Web 自动化成为一场噩梦……

编辑:此外,Cloudflare 页面显示“请启用 Cookie 并重新加载页面。” 尽管通常请求会话的 RequestsCookieJar 会自动接受 cookie。