Gå til innhold

Bilde-antibot, skjule bilenavn?


Anbefalte innlegg

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 av Rudde93
Lenke til kommentar
Videoannonse
Annonse

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

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 av Rudde93
Lenke til kommentar

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 av Terrasque
Lenke til kommentar

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 av Goggen90
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...