我们都知道,有时云喜欢检查他们的客户访问者以确保访客不是真正的人。安全检查要求我们通过Google Recaptcha。我想问的是,有可能通过使用我们自己的服务器(即使远程服务器和自己回答验证码等)以及如何传递它?
答案 0 :(得分:0)
对于你自己,是的,你可以。
您可以为您的IP地址创建custom rule,并将安全级别设置为基本上关闭。
Security Level
控制是否向特定访问者展示挑战。
通过禁用IP地址的安全级别,您可以在自己的网站上有效地绕过此保护。
答案 1 :(得分:0)
当您访问受cloudflare保护的网站时,该网站将包含一项安全检查,您将无法绕过该检查,并且一旦失败,您的访问权限最终将被拒绝,您将被重定向到captcha挑战页面,原因是信誉低的IP地址发出的请求。
IP信誉是根据Project Honeypot,外部公共IP信息以及来自Web Application Firewall和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')
另一种解决方案是使用以下步骤通过Project Honey Pot网站将您的IP地址列入白名单:
您可以在标题为Attention Required one more step captcha CloudFlare Error的视频中找到详细的端到端过程。
答案 2 :(得分:0)
当然有几种可能。其中之一是使用“真正的模拟浏览器”来解析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();
}
我不对绕过云层耀斑造成的任何损害负责,但只要人类可以绕过云层耀斑,始终可以通过模拟客户端来做到这一点。
编辑:如果后面还存在重新捕获,则可能很难绕开它。但是通常,如果您没有登录到Google帐户,或者服务器认为您是机器人,则通常会发生这种情况。只需重复使用由Google身份验证生成的cookie,并确保您始终重复使用并发送相同的cookie。
Cloudflare还会检查(不确定)-您的客户端是否正在请求CSS和javascript之类的资产。
您可能还需要向假客户端请求它们。