Autor Beitrag
GruppeCN
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Mo 28.05.07 14:30 
Hallo Delphianer,

ich arbeite momentan nebenbei immer mal wieder etwas an phpMyGuestBook 2.0 - wie der Name schon sagt ein Gästebuch in PHP.

Dafür versuche ich jetzt eine halbwegs guten Captchaklasse zu erstellen. Wäre schön, wenn ihr euch mal den aktuellen Stand der Dinge ansehen und bewerten könntet.

phpmyguestbook.webnotebook.de/captcha/

Danke schonmal :)

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mo 28.05.07 14:55 
Joa, sieht schonmal nicht schlecht aus. ;) Nur nützt dir der Batz im Hintergrund nichts, wenn der immer genau die selbe Farbe hat. D.h. man könnte einfach diese Farbe vom Bild rausfiltern, dann bleibt noch der Text übrig. ;)
blackbirdXXX

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: Mo 28.05.07 16:46 
Ziemlich nutzloses captcha, da leicht zu knacken.

_________________
Klein, schwarz und ärgert Techniker? Jumper!
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mo 28.05.07 17:33 
Vielleicht sowas in der Art: research.microsoft.com/asirra/? :)
GruppeCN Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Di 29.05.07 13:19 
user profile iconblackbirdXXX hat folgendes geschrieben:
Ziemlich nutzloses captcha, da leicht zu knacken.

Danke für die konstruktive Kritik ;)

user profile iconChryzler hat folgendes geschrieben:
Vielleicht sowas in der Art: research.microsoft.com/asirra/? :)

Naja, neu ist die Idee ja nicht, aber problematisch, weil man so viele Bilder dafür braucht. Und speziell diese Lösung ist glaub ich nicht besonders gelungen, weil das "lösen" der Aufgabe doch etwas aufwändig ist.

Wasc macht mein Captcha denn besser? Also verschiedene Schriftarten scheidet eigentlich aus, weil ich die dann alle mitliefern müsste. Vor allem die Hintergrundgestaltung ist mein Problem.

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 29.05.07 14:00 
user profile iconGruppeCN hat folgendes geschrieben:
user profile iconblackbirdXXX hat folgendes geschrieben:
Ziemlich nutzloses captcha, da leicht zu knacken.

Danke für die konstruktive Kritik ;)

user profile iconChryzler hat folgendes geschrieben:
Vielleicht sowas in der Art: research.microsoft.com/asirra/? :)

Naja, neu ist die Idee ja nicht, aber problematisch, weil man so viele Bilder dafür braucht. Und speziell diese Lösung ist glaub ich nicht besonders gelungen, weil das "lösen" der Aufgabe doch etwas aufwändig ist.

Wasc macht mein Captcha denn besser? Also verschiedene Schriftarten scheidet eigentlich aus, weil ich die dann alle mitliefern müsste. Vor allem die Hintergrundgestaltung ist mein Problem.


wieso schriften mitliefern??
Einfach n Bild per PHP in Bild generieren und fertig...
Nimm doch ne Rechenaufgabe :)
Kombiniert im Captcha :)

also 3+6 und Benutzer muss 9 in ein Editfeld eingeben.

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Novo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90

Win XP, Win 7
Delphi 7 Enterprise, Delphi 2009
BeitragVerfasst: Di 29.05.07 14:19 
Die einen wolln bessere Captcha erkennung, die anderen eine bessere Auslesemethode.
xD
der ständige Krieg zwischen Firmen und FreeLoadern xD



greez Novo


PS:
ich weiss, mein Post passt jetzt nicht so ganz ^^
blackbirdXXX

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: Di 29.05.07 18:54 
user profile iconGruppeCN hat folgendes geschrieben:
user profile iconblackbirdXXX hat folgendes geschrieben:
Ziemlich nutzloses captcha, da leicht zu knacken.

Danke für die konstruktive Kritik ;)


Ist leider so. Dinge die du machen musst: Verzerren, mehrere Schriften, Muster statt einfarbig. Hintergrund und Linien kannst du vergessen, die kann man mit Kontrasänderungen leicht rausfiltern.

_________________
Klein, schwarz und ärgert Techniker? Jumper!
GruppeCN Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Di 29.05.07 19:26 
mh, schon besser ^^ ich werde mich mal an verzerrungen machen, jemand ne idee, wie das mit PHP sauber machbar ist?

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 29.05.07 20:25 
user profile iconGruppeCN hat folgendes geschrieben:
mh, schon besser ^^ ich werde mich mal an verzerrungen machen, jemand ne idee, wie das mit PHP sauber machbar ist?


Beispiel: www.tauschboerse.gar...de/registrierung.php

Wennst magst, schick oder Poste ich das PHP-File :)

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 29.05.07 20:37 
Gegen Bots hilft meist eine sehr einfach Sache: Das Bild und das Eingabefeld musst Du einfach nur mit einem immer zufälligen Namen benennen, dann erkennen die Programme das Captcha gar nicht.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 29.05.07 20:41 
user profile iconUGrohne hat folgendes geschrieben:
Gegen Bots hilft meist eine sehr einfach Sache: Das Bild und das Eingabefeld musst Du einfach nur mit einem immer zufälligen Namen benennen, dann erkennen die Programme das Captcha gar nicht.
Japp, die Erfahrung haben wir ja hier im Forum auch gemacht. Da gingen die Bots von fünf am Tag auf Null zurück :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 29.05.07 20:47 
user profile iconChristian S. hat folgendes geschrieben:
user profile iconUGrohne hat folgendes geschrieben:
Gegen Bots hilft meist eine sehr einfach Sache: Das Bild und das Eingabefeld musst Du einfach nur mit einem immer zufälligen Namen benennen, dann erkennen die Programme das Captcha gar nicht.
Japp, die Erfahrung haben wir ja hier im Forum auch gemacht. Da gingen die Bots von fünf am Tag auf Null zurück :-)

Jetzt hast Du unseren Trick verraten und jetzt sind die Spammer schon am Programmieren :twisted:
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 29.05.07 21:51 
user profile iconUGrohne hat folgendes geschrieben:
Gegen Bots hilft meist eine sehr einfach Sache: Das Bild und das Eingabefeld musst Du einfach nur mit einem immer zufälligen Namen benennen, dann erkennen die Programme das Captcha gar nicht.

Kann ich irgendwie nicht glauben... Das ist doch (eigentlich) das geringste Problem...

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 29.05.07 22:02 
user profile iconMartok hat folgendes geschrieben:
Kann ich irgendwie nicht glauben...
Es funktioniort bei uns hervorragend, daher ist Glaube irrelevant :zwinker:

user profile iconMartok hat folgendes geschrieben:
Das ist doch (eigentlich) das geringste Problem...
Anscheinend sind die Bots extrem dumm. Wir haben noch eingebaut, dass das Eingabefeld an zwei Positionen erscheinen kann. Zusammen mit dem zuäflligen Namen hält das zuverlässig die Bots ab.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
blackbirdXXX

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: Di 29.05.07 22:07 
Oder noch besser:
ausblenden XML-Daten
1:
2:
3:
<style type="text/css">input[name="homepage"], input[name="email"] { display: none; }</style>
<input type="text" name="homepage">
<input type="text" name="email">


Und in der Anwendung das:
ausblenden C#-Quelltext
1:
2:
if request.args.get('homepage') or request.args.get('email'):
    return AccessDeniedResponse('Die heretic scum')

(ist jetzt python, aber ähnlich für php)

Funktioniert erstaunlich gut.

_________________
Klein, schwarz und ärgert Techniker? Jumper!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 29.05.07 22:11 
Das ist auch sehr raffiniert! :zustimm: Muss ich mir merken :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 30.05.07 07:55 
Das mit den zufälligen Feld-Namen habe ich auch schon festgestellt. Funktioniert auch bei mir schon seit Monaten. Dazu noch verschiedene Schriften und Farben.

Die Idee von user profile iconblackbirdXXX ist aber wirklich eine gute Idee, muss ich mir auch mal irgendwo hinschreiben.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
LeoLöwe
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 45

Win XP Home
BDS 2006, PHPCoder
BeitragVerfasst: Mi 30.05.07 08:35 
Also ich finde das Captcha hier auch ganz hübsch:

leoandres.dyndns.org/captcha.php

Ist nur leider ein bisschen klein, der Text wird manchmal abgeschnitten... Werde ich mal ändern müssen.

Den Text schreibe ich mit de2.php.net/manual/d...ion.imagettftext.php in ein leeres Bild, als Winkel einfach einen random-Wert nehmen

Dann wird ein zweites Bild mit ein paar Linien und Ellipsen erstellt

Mittels Imagecopy + ein wenig Mathe wird das ganze ein bisschen wellig

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
for ($i=0;$i<$width;$i+=2)
{
   imagecopy($image3,$image3,
      0+$i-2,round((sin($i/2))/1),
      0+$i,0,
      2,$height);
}


Und dann wird über das schön wellige und kunterbunte Hintergrundbild der Text gelegt. Und zwar so, das sich beide Bilder vermischen, vom Text-Bild kommen 60% rein und vom Hintergrund-Bild nur 40%

de2.php.net/manual/d...n.imagecopymerge.php

imagecopymerge($image3,$image2,0,0,0,0,$width,$height,40);

Das war eigentlich auch schon alles... Der Text landet in der Session, und ein bisschen Javascript hilft auch beim lesen des Captchas: Wenn man draufklickt, wird es neu geladen, dann hoffentlich besser lesbar:

ausblenden Quelltext
1:
2:
3:
<A href="#" onClick="javascript:document.images['Captcha'].src = document.images['Captcha'].src + '&reload=1'">
<img src="./captcha.php" alt="Captcha" border=0 name="Captcha">
</A>


Die Session-ID wird übrigens immer über GET mitgegeben.
GruppeCN Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Mi 30.05.07 14:25 
Die Ideen mit dem zufälligen Feldnamen und dem versteckten Feld sind nicht schlecht, werd ich mir auf jeden Fall merken :)

Prinzipiell muss ich aber davon ausgehen (sicher ist sicher, ein bisschen Anspruch muss sein ^^), dass dieses Gästebuch irgendwann mal so weit verbreitet ist, dass jemand speziell für alle diese Installationen einen Bot schreibt, d.h. solche Tricks helfen nicht viel.

Ich hab schon mal versucht, die Schrift hinterher noch zu wellen, d.h. ich hab einfach einzelne Zeilen um 1-3 Pixel nach links oder rechts kopiert, nachdem die Schrift draufgeschrieben wurde. Wirklich schön war das Ergebnis aber nicht, die Zeichen wurden einfach deutlich schlechter lesbar - hat da jemand nen Trick auf Lager, wie man das sauber hinkriegt?

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.