And*_*dra 15 security captcha recaptcha cloudflare server
我们都知道,有时 cloudflare 喜欢检查其客户端访问者,以确保访问者不是真人。安全检查要求我们通过 Google Recaptcha。我想问是否可以使用我们自己的服务器来传递它(即使使用远程服务器并由我们自己回答验证码等)以及如何传递?
Deb*_*anB 13
当您访问受 cloudflare 保护的网站时,它将包含您无法绕过的安全检查,如果失败,您的访问最终会被拒绝,并且由于来自低信誉 IP 地址的请求,您将被重定向到验证码质询页面。
IP 信誉是根据蜜罐项目、外部公共 IP 信息以及来自Web 应用程序防火墙和DDoS的内部威胁情报计算的。
在这些情况下,潜在的解决方案是使用unDetected-chromedriver来初始化Chrome 浏览上下文。
unDetected-chromedriver是一个优化的 Selenium Chromedriver 补丁,它不会触发 Distill Network / Imperva / DataDome / Botprotect.io 等反机器人服务。它会自动下载驱动程序二进制文件并对其进行修补。
Python 示例代码:
import undetected_chromedriver as uc
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
driver = uc.Chrome(options=options)
driver.get('https://bet365.com')
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是使用以下步骤通过Project Honey Pot网站将您的 IP 地址列入白名单:
您可以在标题为“注意需要多一步验证码 CloudFlare 错误”的视频中找到详细的端到端流程。
当然,这可以通过多种方式实现。其中之一是使用解析 JavaScript 的“真实模拟浏览器”。
另一种方法是 - 如果您在无头服务器上运行它 - 使用无头浏览器来为您完成此操作。在第一个请求之后,您可以存储 cookie 并在基本的 http 客户端(如 jsoup (java))中重用它。
使用 JBrowserDriver(无头)和 java 的示例:
JBrowserDriver jBrowserDriver = null;
public JBrowserDriver getDriver(Boolean headless) {
if (jBrowserDriver == null) {
log.info("JBrowser was null, initalizing");
jBrowserDriver = new JBrowserDriver(Settings.builder()
.timezone(Timezone.EUROPE_BERLIN)
.ssl("compatible")
.cache(true)
.javascript(true)
.headless(headless)
.userAgent(UserAgent.CHROME)
.logTrace(true)
.loggerLevel(Level.ALL)
.build());
}
return jBrowserDriver;
}
private void testFunction() {
// ..
jDriver.get("https://cloudflare.site");
driverCookies = jDriver.manage().getCookies();
HashMap<String, String> cookieMap = new HashMap<>();
driverCookies.forEach(cookie -> cookieMap.put(cookie.getName(), cookie.getValue()));
Document document = Jsoup.connect(requestPage).cookies(cookieMap).get();
}
Run Code Online (Sandbox Code Playgroud)
我对绕过云耀斑造成的任何损害不承担任何责任,但只要人类可以绕过它,模拟客户端就总是可以做到这一点。
编辑:如果后面还有一个验证码,则可能很难绕过它。但如果您没有登录谷歌帐户,或者服务器认为您是机器人,通常会发生这种情况。只需重复使用 google 身份验证生成的 cookie,并确保始终重复使用并发送相同的 cookie。
Cloudflare 还会检查(不确定)您的客户是否请求 css 和 javascript 等资产。
您可能还需要通过假客户端来请求它们。
对于你自己来说,是的,你可以。
您可以为您的 IP 地址创建自定义规则,并将安全级别设置为基本关闭。
这Security Level是控制是否向特定访问者提出挑战的因素。
通过禁用 IP 地址的安全级别,您可以在自己的站点上有效地绕过此保护。