Rudde Skrevet 24. mars 2011 Del Skrevet 24. mars 2011 (endret) Hello, skriver en bildebasert antibot og har noen problemer med å skjule bildenavnene, jeg aner egentlig ikke hvordan jeg skal gjøre det. <?php $array = array(1, 1, 0, 0, 0, 0); shuffle($array); $i = 0; while($i < 6) { $nee = $array[$i]; if($nee == 0) { $html .= "<img src=\"zero.png\" /><br />".rand()."<br />\n"; }else{ $rand = rand(); $html .= "<img src=\"one.png\" /><br />$rand<br />\n"; $secret .= $rand; } $i++; } echo $html; echo "<br /><br />"; echo sha1("l261opvUYTUYIBuivyuibnioBI".$secret); echo "<br /><br />"; echo $secret; ?> Ja jeg vet det er skrevet rotete, men dette er bare for å få funksjonalitet på plass før jeg skriver det ferdige produktet. Håper noen vet hvordan jeg kunne ha skjult bildenavn uten å blande inn MySQL og databaser. Endret 24. mars 2011 av Rudde93 Lenke til kommentar
Thomas. Skrevet 24. mars 2011 Del Skrevet 24. mars 2011 Skjule "zero.png" ? Hvordan skal du få vist bildet da? Nytter ikke lage en antibot slik. Du bør heller skrive en klasse og bruker sessions (oppdateres for hver reload av siden) til å lagre hvilket bildet som rett, så sjekker du om brukeren har valgt det rette bildet. Og om du kan skal ha "Velg riktig bilde nedenfor!"- opplegg er det ikke noe problem for bots å komme seg igjennom. Du bør ha slik at man kan velge fler bilder som er rett. Og bildene får tilfeldige f.eks streker over seg for hver reloading av siden slik at bots ikke kjenner igjen bildene. Lenke til kommentar
Rudde Skrevet 24. mars 2011 Forfatter Del Skrevet 24. mars 2011 (endret) Vel ja skjule zero.png altså slik at en bot ikke greier å skjønne forskjell på zero.png og one.png, f.eks. at jeg linker til bilde.php og riktig bilde kommer opp eller bilde.php?id=186168 hvor det ikke finnes noe logisk system for å finne ut hvilket bilde som skjuler seg bak ID'en. Og jeg tenkte å gjøre den mer OCR sikker senere med tilfeldig støy i bildene eller no. Endret 24. mars 2011 av Rudde93 Lenke til kommentar
Terrasque Skrevet 24. mars 2011 Del Skrevet 24. mars 2011 filnavn = md5("riktig svar" + "stor random tekststreng du genererer og setter i variabel").jpg Lenke til kommentar
Terrasque Skrevet 24. mars 2011 Del Skrevet 24. mars 2011 (endret) Alternativt: http://www.phpjabbers.com/captcha-image-verification-php19.html Edit : Første approach er utmerket hvis du vil forhåndsgenerere et sett med bilder, siden filnavnet også inneholder informasjonen du tenger for å verifisere captcha'en. Approach nummer to genererer et tilfeldig bilde og bruker cookies (session) for å lagre riktig verdi. Hvilken av de som er best? Avhenger av situasjonen. Endret 24. mars 2011 av Terrasque Lenke til kommentar
Rudde Skrevet 24. mars 2011 Forfatter Del Skrevet 24. mars 2011 filnavn = md5("riktig svar" + "stor random tekststreng du genererer og setter i variabel").jpg Hæ? Det er jo ett bilde som ikke eksisterer? Lenke til kommentar
nree Skrevet 25. mars 2011 Del Skrevet 25. mars 2011 (endret) Du kan lage en fil som bruker file_get_contents til bildefilen og header med image/jpg . Da kan du lage noe kreativt som henter forskjellige bilder. f.eks: når sekunder i klokken er mellom 0 - 10 blir den filen brukt etc.. så lagres dette i en session og blir sjekket når brukeren submitter. Da bruker du f.eks <img src="antibot.php" alt="antibot" /> Endret 25. mars 2011 av Goggen90 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå