een-captcha-maken

Gesponsorde koppelingen

PHP script bestanden

  1. een-captcha-maken

« Lees de omschrijving en reacties

//IMAGES ZIJN TE DOWNLOADEN OP http://proeftuin.dutchville.com/index.php?dir=codegenerator
//PAGINA WAARIN DE IMAGE GEPLAATST WORDT(start.php):
//STAPPEN:
//1. CREATIE VAN KEYCODE (formaat XXXX-XXXX-XXXX) dmv functie KEYGEN
//2. ENCRYPTIE VAN DE KEYCODE dmv functie ENCRYPT
//3. AANROEP VAN PLAATJE MET GEENCODEERDE KEYCODE

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
  function keygen($max)
  {

    $items = "1234567890";
    $x = 1;
    $total = strlen($items) - 1;
    while($x <= $max)
    {

      $rand = rand(0, $total);
      $item = substr($items, $rand, 1);
      if($x == 1)
      {

        $key = $item;
      }

      elseif($x > 1)
      {

        $key .= $item;
      }

      $x++;
    }

    return $key;
  }
  function
encrypt($string, $key) {
   $result = '';
   for($i=0; $i<strlen($string); $i++) {
     $char = substr($string, $i, 1);
     $keychar = substr($key, ($i % strlen($key))-1, 1);
     $char = chr(ord($char)+ord($keychar));
     $result.=$char;
   }


   return base64_encode($result);
  }


  $keycode = keygen(4) . "-" . keygen(4) ."-" . keygen(4);
  $imglink = encrypt("$keycode", "ditismijngeheimesleutel");
?>

<html>
<body>
  <img src="img.php?showcode=<?php echo $imglink; ?>">
</body>
</html>




//CREATIE VAN DE IMAGE (img.php) obv bar.png
//STAPPEN:
//1. DECRYPTIE VAN GET-VAR
//2. CREATIE VAN DE IMAGE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
  function decrypt($string, $key) {
   $result = '';
   $string = base64_decode($string);

   for($i=0; $i<strlen($string); $i++) {
     $char = substr($string, $i, 1);
     $keychar = substr($key, ($i % strlen($key))-1, 1);
     $char = chr(ord($char)-ord($keychar));
     $result.=$char;
   }


   return $result;
  }


  $keycode = $_GET['showcode'];
  $keycode = decrypt($keycode, ditismijngeheimesleutel);

  header("Content-type: image/png");
  $im = imagecreatefrompng("bar.png");
  $tekst1     = "REG CODE";
  $xas1       = 55;
  $yas1       = 10;
  $kleur1     = imagecolorallocate($im, 255, 102, 0);
  imagestring($im, 4, $xas1, $yas1, $tekst1, $kleur1);

  $tekst2     = $keycode;
  $xas2       = 25;
  $yas2       = 35;
  $kleur2     = imagecolorallocate($im, 102, 153, 255);
  imagestring($im, 6, $xas2, $yas2, $tekst2, $kleur2);

  imagepng($im);
  imagedestroy($im);
  header("Location: bar.png");
?>





In het bestand start.php wordt de image getoond. In de broncode is alleen de geencrypte keycode te zien. Stel dat je deze code plaatst in een registratiescript, dan kun je controleren of de waarde die de gebruiker invoerd overeenkomt met die van het plaatje.

Thats it!

gr.
Joost

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.