CAPTCHAs mittels "intelligenter" Abfrage

Sicheres php codieren.
k00ni
Beiträge: 1474
Registriert: 22. Juni 2006, 16:44
Kontaktdaten:

CAPTCHAs mittels "intelligenter" Abfrage

Beitrag von k00ni » 6. Dezember 2007, 14:51

Wie ich vor einigen Tagen in diesem Blog-Post gelesen hatte, scheint es bei einem Großteil der Captchas nun möglich zu sein, diese zu umgehen. Auch das hier im pSys eingesetzte fällt darunter.

Ich habe mir gerade überlegt, wie man dass effektiver gestalten könnte. Das gute ist, dass es noch keine KI gibt, die die denken kann. Deshalb muss man die Bots mit Abfragen konfrontieren, die sie zwar im schlimmsten Falle auswerten, aber nicht beantworten können. Dies wären Dinge wie: Wieviel Elefanten siehst du? Gibt es hier einen Vogel auf dem Bild? usw. usf.

Wenn nun die Abfrage noch quer Beet alles mögliche abfragt, also auch Dinge wie Buchstaben, Muster oder Bilder mit viel Inhalt (Gibt es hier ein Bild mit Eifelturm), dann wäre es ja für eine Maschine nahezu unknackbar.

Implementiert wäre das Ganze recht einfach. Man nutzt den bisherigen Algorithmus. Nur baut man da keinen Text mit Buchstaben und Zahlen ein, sondern man zeigt halt verschiedene Bilder in einem neuen Bild an. Da hier der Platz begrenzt ist, müssen diese kleiner und gut sichtbar sein. Im Hintergrund kann man dann im Skript die verschiedenen Fälle hart implementieren oder ggf. auch zufällig mehrere einzelne Fälle abfragen. Oder man setzt eine Datenbank in den Hintergrund, wobei das schon fast wieder zu umfangreich wäre.

Was haltet ihr von der Idee?

Benutzeravatar
Powie
Administrator
Beiträge: 7458
Registriert: 4. März 2003, 09:32
Wohnort: Ilmtal
Kontaktdaten:

CAPTCHAs mittels "intelligenter" Abfrage

Beitrag von Powie » 6. Dezember 2007, 15:17

coool!
*Never say Never* - [ Dropbox | Webspace ]

k00ni
Beiträge: 1474
Registriert: 22. Juni 2006, 16:44
Kontaktdaten:

CAPTCHAs mittels \"intelligenter\" Abfrage

Beitrag von k00ni » 12. Dezember 2007, 18:26

Ich habe gerade mal etwas herumprobiert. Folgender Code erzeugt mir ein Bild. Nun sollte eigentlich ein weiteres Bild daraufgelegt werden, nur irgendwie macht er es nicht. Das Hintergrundbild wird sauber angezeigt, nur leider ohne das zweite Bild.

Code: Alles auswählen

_S_background);     
        
// Bild erzeugen
$pcap_im = ImageCreateTrueColor($this->_I_width, $this->_I_heigth);
imagecopyresampled($pcap_im, $bg, 0,0,0,0, $this->_I_width, $this->_I_heigth, ImageSX($bg),ImageSY($bg));
        
$get_image = ImagePNG ($pcap_im);
$show_image = ImageCopy ($get_image, ImageCreateFromPNG($this->_S_picture_folder. \'/elefant_1.jpg\'), 100, 100, 10, 10, 150, 100);
		       
// Bild auf Interlace = 1 stellen. (Lädt das Bild streifenweise und nicht in einem Zug)
imageinterlace($pcap_im,false);
        
// Bild ausgeben        
$pcap_image = \'image.png\';

// sending image
header(\'Content-type: image/png\');
$pcap_image($pcap_im);

?>
Bei PHP in Verbindung mit Bildern bin ich ne Niete. Jemand eine Idee?

k00ni
Beiträge: 1474
Registriert: 22. Juni 2006, 16:44
Kontaktdaten:

CAPTCHAs mittels \"intelligenter\" Abfrage

Beitrag von k00ni » 12. Dezember 2007, 23:04

Weil ich das in einer Klasse drin habe. Bevor du raten musst, hier die Klasse:

Das Ding wird wie beim Captcha im pSys über ein img-Tag eingebunden.

[edit]UPDATE: Da der Code hier total zerhackt wurde, hab ich die Datei mal angehängt.[/edit]

k00ni
Beiträge: 1474
Registriert: 22. Juni 2006, 16:44
Kontaktdaten:

CAPTCHAs mittels "intelligenter" Abfrage

Beitrag von k00ni » 14. Dezember 2007, 07:33

[quote]Während ich imagick schon lange schätze. Es gibt auch ein entsprechendes PECL-Modul.[/quote]
Ist das ein Modul, was auch auf (vielen) Hostern installiert ist oder muss dass in den meisten Fällen nachinstalliert werden? Ich frage mich was daran so schwer sein soll und warum dass GD-Lib scheibar nicht packt.

[quote]Ich wollte zwei transparente PNG in ein neues, transpartes PNG mergen - anscheinend hat die GD-Lib bei solchen Aktionen Probleme.[/quote]
Dies bräuchte ich eigentlich nicht. Mir würde es reichen wenn man 3 - 5 Bilder übereinander legen kann, nur halt etwas versetzt. Mal schauen, ob ich da mal etwas Code im Netz finde.

[quote]In Kürze werden wir da etwas präsentieren... Ein wenig Geduld.[/quote]
Na, wenn ihr mir die Arbeit abnehmt, dass wäre schön! Könntet ihr auch noch meine Übungserien in MuP machen? :ugly:

Antworten