Heim Backend-Entwicklung PHP-Tutorial 关于php验证码的破解。解决方案

关于php验证码的破解。解决方案

Jun 13, 2016 pm 01:36 PM
color curl image val

关于php验证码的破解。
网站防爆最好是加验证码了。
市场上的验证码一般有几花样,
英文+数字、中文与JS的,
还有很少见的中国移动识图验证码。
这种看似很威武,实际上感觉也不太好,答案就固定有8个了。
做数字是否存在判断后,答案就能锁定4个了。靠蒙的话,蒙对的机率还是挺大的。

最后是加些干扰点、干扰线。再扭曲字体等。

php通常是用GD库生成图片+SESSION来实现认证,
当突破验证码这关之后,可以模拟请求获sessionID,
用获得sessionID取得验证码分析之后再模拟注册登录验证。

验证码被破后基本是畅通无阻了。然后就爆力效验账号密码,滥发信息之类云云了……

在明白过程后就好防备了,所以说涉及到几个问题。
一、要加强验证码难度,一些位置固定字符形态不变的是很容易识别的了。
二、要SESSION做适当配置。SESSION效验后及时清掉,禁止URL传值设置等...
三、适当做些时间与次数限制。

下面是百度的验证码BZ6E,应该有来路判断的提交几次就挂了,伪一下才行。
有些难度,每个字符都连接一起加干扰线加少许扭曲,跟淘宝的差不多,不过淘宝没干扰线。
大家讨论下看看怎么破,应该还是有人破的了。贴吧上还是经常有人爆吧的。 


好了,先扯这么多。

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$image_name = 'baidu.jpg';
$image = "http://tieba.baidu.com/cgi-bin/genimg?0013286908280168B65F46CEDCD48CF9D46DF47A64587DA42FC48BF1CF8D47BD0D0BC2EE39911C9918D5CF46E79CF94FFA71BC0DC14DAE59197F42F24B4455C205062670A2977101F1A661F7F4716A8BC2C21D586F886CA300E0D42874D6365A1216622D9740163479D1DD416DAE5D70C09EA834F6B9EC307A29CDAF8D0C78FE159402800B113F6039195E5D683695532E4E2FFD8563D732AD19EDFB147B7569B617BDFBE487CE77AE49E75D83BA56B7038971E2081F647A&t=0.7108543934300542";    


$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $image); 
curl_setopt($curl, CURLOPT_REFERER, 'http://tieba.baidu.com/f?kw=baidu'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($curl); 
curl_close($curl); 
file_put_contents($image_name, $result);


$size = getimagesize($image_name);
$im = imagecreatefromjpeg($image_name);
imagejpeg($im, 'baidu.jpg',100);
$width = $size[0];
$height = $size[1];


for($x = 1; $x $val)
{
    foreach ($val as $k=>$v)
        $col[$key] .= $v $val)
    if(array_sum($val) $val)
{
    $val = trim($val);
    if(empty($val)) unset($col[$key]);
}

echo '<pre class="brush:php;toolbar:false">';
print_r($col);



Nach dem Login kopieren


------解决方案--------------------
好帖.不过看过那个中极验证破解的文章,不太理解哦...
------解决方案--------------------
啥意思 讨论如何破解百度的验证码?很久以前,我记得那个时候百度的验证码是可以根据某个特征逆出来的,后来给修复了。

你说经常有人爆吧,那是因为人肉ddos.当我发动1000个人一起攻击的时候,如果程序和硬件跟不上是完全无法阻挡的,所以单单从程序上来说绕过验证码我觉得可能性不大。别小看了百度的程序员。至于识别出验证码,那是老生常谈的问题了,识别关键是识别率,类似像淘宝这样的 当你的验证多少次输入失败后就直接封你ip多长时间,你的识别率要是不高的话,那就是浮云啊.
------解决方案--------------------
二值化不好,通常在处理过程就会丢失一些精度,要求验证码变化比较简单的,还需用数据库去比对能搞出来

非OCR的方法,我觉得用数据模拟覆盖,达XX%以上就认为找出一个字,这么来可能更好一些。直接无视干扰

个人用这种方法,试过开源的部分程序,效果还可以,比率30%――90%以上都有


当然,开源的程序,用的字体、变形方式都是清楚的,,,非开源的只能靠自己发现啦,hoho~~~~~
------解决方案--------------------
图像识别(OCR)是广泛的技术,算法巨多
目前OCR技术可谓炉火纯青了

不过若用于识别验证码,未免也太不道德了

和谐社会是需要大家来创建的

------解决方案--------------------
高手都来了所
------解决方案--------------------
被爆过的路过
菜鸟的我还没找到一个终极的解决办法,想想还是用时间限制+ip&&次数来做点抵挡了
------解决方案--------------------
我一般用粘合 的方式 +字符变形 底纹细小的字母(就是增加噪点)
一般不被爆!~
------解决方案--------------------
坦白的说,干这个基本是浪费时间.....

我现在一般都推荐用recaptcha,实际上很多大网站都在用,破破看?

还有,现在的另一个趋势是干脆不用验证,而是通过统计方法来识别垃圾,
比如
http://disqus.com/welcome/
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

Sowohl Curl als auch Pythonrequests sind leistungsstarke Tools zum Senden von HTTP-Anfragen. Während Curl ein Befehlszeilentool ist, mit dem Sie Anfragen direkt vom Terminal aus senden können, bietet die Requests-Bibliothek von Python eine eher programmatische Möglichkeit, Anfragen aus Python-Code zu senden. Die grundlegende Syntax zum Konvertieren des Curl-Befehls in den Pythonrequestscurl-Befehl lautet wie folgt: curl[OPTIONS]URL Beim Konvertieren des Curl-Befehls in eine Python-Anfrage müssen wir die Optionen und die URL in Python-Code konvertieren. Hier ist ein Beispiel für einen CurlPOST-Befehl: curl-XPOST https://example.com/api

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Jul 08, 2023 pm 09:13 PM

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Vor kurzem hat PHP offiziell die neueste Version von PHP8.1 veröffentlicht, die eine wichtige Funktion eingeführt hat: Curl für die gleichzeitige Verarbeitung mehrerer Anfragen. Diese neue Funktion bietet Entwicklern eine effizientere und flexiblere Möglichkeit, mehrere HTTP-Anfragen zu verarbeiten und verbessert so die Leistung und das Benutzererlebnis erheblich. In früheren Versionen erforderte die Bearbeitung mehrerer Anfragen häufig die Erstellung mehrerer Curl-Ressourcen und die Verwendung von Schleifen zum Senden bzw. Empfangen von Daten. Obwohl diese Methode den Zweck erreichen kann

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Jul 29, 2023 pm 05:07 PM

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL für HTTP-Anfragen. Einführung: Bei der Webentwicklung ist es häufig erforderlich, mit APIs von Drittanbietern oder anderen Remote-Servern zu kommunizieren. Die Verwendung von cURL zum Senden von HTTP-Anfragen ist eine gängige und leistungsstarke Methode. In diesem Artikel wird erläutert, wie Sie mit PHP cURL erweitern, um HTTP-Anfragen auszuführen, und einige praktische Codebeispiele bereitstellen. 1. Vorbereitung Stellen Sie zunächst sicher, dass PHP die cURL-Erweiterung installiert hat. Zur Überprüfung können Sie php-m|grepcurl in der Befehlszeile ausführen

Was ist Linux Curl? Was ist Linux Curl? Apr 20, 2023 pm 05:05 PM

Unter Linux ist Curl ein sehr praktisches Tool zum Übertragen von Daten zum und vom Server. Es verwendet URL-Regeln, um unter der Befehlszeile zu arbeiten, und ist ein umfassendes Übertragungstool. Curl bietet viele sehr nützliche Funktionen, darunter Proxy-Zugriff, Benutzerauthentifizierung, FTP-Upload und -Download, HTTP POST, SSL-Verbindung, Cookie-Unterstützung, Breakpoint-Wiederaufnahme und so weiter.

Wie gehe ich mit der 301-Umleitung von Webseiten in PHP Curl um? Wie gehe ich mit der 301-Umleitung von Webseiten in PHP Curl um? Mar 08, 2024 am 11:36 AM

Wie gehe ich mit der 301-Umleitung von Webseiten in PHPCurl um? Wenn Sie PHPCurl zum Senden von Netzwerkanfragen verwenden, werden Sie häufig auf den von der Webseite zurückgegebenen Statuscode 301 stoßen, der darauf hinweist, dass die Seite dauerhaft umgeleitet wurde. Um diese Situation richtig zu handhaben, müssen wir der Curl-Anfrage einige spezifische Optionen und Verarbeitungslogik hinzufügen. Im Folgenden wird detailliert beschrieben, wie mit der 301-Umleitung von Webseiten in PHPCurl umgegangen wird, und es werden spezifische Codebeispiele bereitgestellt. 301-Redirect-Verarbeitungsprinzip 301-Redirect bedeutet, dass der Server eine 30 zurückgibt

So nutzen Sie Bing Image Creator kostenlos So nutzen Sie Bing Image Creator kostenlos Feb 27, 2024 am 11:04 AM

In diesem Artikel werden sieben Möglichkeiten vorgestellt, mit dem kostenlosen BingImageCreator eine qualitativ hochwertige Ausgabe zu erhalten. BingImageCreator (jetzt bekannt als ImageCreator für Microsoft Designer) ist einer der großartigen Online-Kunstgeneratoren für künstliche Intelligenz. Es generiert äußerst realistische visuelle Effekte basierend auf Benutzereingaben. Je spezifischer, klarer und kreativer Ihre Aufforderungen sind, desto besser werden die Ergebnisse sein. BingImageCreator hat erhebliche Fortschritte bei der Erstellung hochwertiger Bilder gemacht. Es verwendet jetzt den Dall-E3-Trainingsmodus und zeigt ein höheres Maß an Detailgenauigkeit und Realismus. Allerdings hängt die Fähigkeit, konsistent HD-Ergebnisse zu liefern, von mehreren Faktoren ab, unter anderem von der Geschwindigkeit

So löschen Sie Bilder von Xiaomi-Telefonen So löschen Sie Bilder von Xiaomi-Telefonen Mar 02, 2024 pm 05:34 PM

Wie lösche ich Bilder auf Xiaomi-Handys? Sie können Bilder auf Xiaomi-Handys löschen, aber die meisten Benutzer wissen nicht, wie man Bilder auf Xiaomi-Handys löscht können Sie bei uns vorbeischauen. Mal sehen! So löschen Sie Bilder auf dem Xiaomi-Mobiltelefon 1. Öffnen Sie zunächst die Funktion [Album] im Xiaomi-Mobiltelefon. 2. Überprüfen Sie dann die nicht benötigten Bilder und klicken Sie auf die Schaltfläche [Löschen] in der unteren rechten Ecke Um den Spezialbereich aufzurufen, wählen Sie oben [Papierkorb] aus. 4. Klicken Sie dann direkt auf [Papierkorb leeren], wie in der Abbildung unten gezeigt. 5. Klicken Sie abschließend direkt auf [Permanent löschen].

See all articles