Im AVC NUR Buchstaben erlauben...

Ersetzt das Original phpBB CAPTCHA gegen eins mit diversen Konfigurationsmöglichkeiten.

Im AVC NUR Buchstaben erlauben...

Beitragvon Christian_N » 27. Jul 2007 14:54

Hi ich wollte mal nachfrage ob es möglich ist auch das bei dem AVC nur Buchstaben angezeigt wird und alle Zeile von 0-9 Ignoriert wird, das hat der Grund da es ja doch Schriftarten geben, wo man mehre Zahle mit den Buchstaben wechseln kann - wie 0 mit o, 1 mit i, 4 mit a, 8 mit b je falls mit den große Buchstaben.

Ich selbst habe jetzt mir gedacht das man den Code
Code: Alles auswählen
         if (!preg_match('/^[A-Za-z0-9]+$/', $confirm_id))
         {
            $confirm_id = '';
         }
vllt. mit dem anpasst
Code: Alles auswählen
         if (!preg_match('/^[A-Za-z]+$/', $confirm_id))
         {
            $confirm_id = '';
         }
aber aber das funktionierte nicht.

Ok es gibt auch noch eine umständliche Möglichkeit aber da wüsste ich das die gehen würde und zwar
Code: Alles auswählen
      $code = str_replace('I', '', $code); // The letter I could get confused with the letter J and the number 1 (one) so we remove it
      $code = str_replace('0', '', $code); // NB 0 (zero) could get confused with O (the letter) so we remove it
mit dem ersetzen
Code: Alles auswählen
      $code = str_replace('0', '', $code);
$code = str_replace('1', '', $code);
$code = str_replace('2', '', $code);
$code = str_replace('3', '', $code);
$code = str_replace('4', '', $code);
....


usw. bis zur 9.

Aber meine frage wäre geht es nicht auch einfacherer alle Zahlen zu Ignorieren?

Schon mal Danke.

Gruß Chris
Chantals - Fanpage :: http://www.chantals-fanpage.de
Benutzeravatar
Christian_N
User
 
Beiträge: 524
Registriert: 31. Mai 2005 00:17
Wohnort: Deutschland

Beitragvon AmigaLink » 28. Jul 2007 00:05

Nunja, Verwechslungen zwischen 1, i und evtl. sogar j können schon mal nicht sein, weil das i gar nicht Dargestellt wird. Das gleiche gild für 0 und o, weil die 0 nicht Dargestellt wird. ;)
Dennoch hast du recht. Bei manchen Zeichensätzen kann es dennoch zu Schwierigkeiten beim erkennen des Bestätigunscodes kommen, wobei ich sagen würde das man solche Zeichensätze am besten nicht benutzt. Denn selbst wenn noch mehr Verwechlungsgefährdete Zeichen ausgeblendet werden, ist bei solchen Zeichensätzen die Fehlerquote recht hoch.

Nun aber zu deiner eigentlichen Frage.
Dein erster Lösungsansatz ist vollkommen falsch weil du da die Überprüfung der Eingabe und nicht den Generierten Code bearbeitet hast.
Dein zweiter Ansatz dagegen richtig. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Christian_N » 28. Jul 2007 01:33

Das I und 0 (Null) nicht angezeigt werden, ist mir klar, war ja auch nur ein Beispiel welche Zahle man mit welche Buchstaben ggf. verwechsel kann.
Das mein 2. Ansatz gehen würde war auch mittlerweile bekannt, nur hab ich mir gedacht das vielleicht es noch eine leichtere Möglichkeit gibt wo alle Zahlen ignoriert werden kann? Oder geht es nur in gewissen art so umständlich und jede einzel Zahl in eine extra Zeile als Code einzufügen?

Gruß Chris
Chantals - Fanpage :: http://www.chantals-fanpage.de
Benutzeravatar
Christian_N
User
 
Beiträge: 524
Registriert: 31. Mai 2005 00:17
Wohnort: Deutschland

Beitragvon AmigaLink » 28. Jul 2007 11:20

Ich hatte heute Nacht (und auch jetzt) nicht die Zeit genauer drauf einzugehen. Ich würde anstelle von 10 str_replace() Anweisungen eine preg_replace() Anweisung nehmen. Müsste allerdings selber erstmal Testen wie die Regulären Ausdrücke dieser Anweisung dann aussehen müssten.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Christian_N » 28. Jul 2007 12:31

Ok dann weiss ich jedenfalls schon mal das es machbar ist, auch einfachere mit eine Codezeile es zu machen, den das mit den 10 str_replace() wie ja in mein erste Post im letzten Codeblock als Beispiel gemacht habe, find ich einfach etwas umständlich ist zwar eine Lösung, aber wenn es auch einfacher geht warum dann nicht auch die einfachere varianten gleich nehmen. :D

Gruß Chris
Chantals - Fanpage :: http://www.chantals-fanpage.de
Benutzeravatar
Christian_N
User
 
Beiträge: 524
Registriert: 31. Mai 2005 00:17
Wohnort: Deutschland

Beitragvon AmigaLink » 28. Jul 2007 13:53

Gut das ich meinen ersten Gedanken nicht gepostet habe. Der hätte nämlich nicht funktioniert.
Aber das hier geht: :D
Code: Alles auswählen
#
#-----[ OPEN ]----------------------------------------------------------------
#

includes/usersp_register.php

#
#-----[ FIND ]----------------------------------------------------------------
#

      $code = str_replace('I', '', $code); // The letter I could get confused with the letter J and the number 1 (one) so we remove it
      $code = str_replace('0', '', $code); // NB 0 (zero) could get confused with O (the letter) so we remove it

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

      $code = preg_replace('/0|1|2|3|4|5|6|7|8|9/', '', $code); // remove all numbers

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Christian_N » 28. Jul 2007 15:49

Danke, werde ich mal dann ausprobieren, ist jedenfalls besser so, einfach kürzer und schneller angebaut als 9x str_replace() zu nutzen. :D
Chantals - Fanpage :: http://www.chantals-fanpage.de
Benutzeravatar
Christian_N
User
 
Beiträge: 524
Registriert: 31. Mai 2005 00:17
Wohnort: Deutschland


Zurück zu Advanced Visual Confirmation



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste

cron