login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > GD library > Image Verification

Image Verification

Auteur: Heracles - 29 december 2004 - 14:15 - Gekeurd door: Dennisvb - Hits: 9944 - Aantal punten: 3.60 (5 stemmen)



dit script kun je gebruiken om bijv. het automatisch submitten van een formulier door een programma tegen te gaan.

Om het te laten werken heb je het font nodig dat in de download staat.

En natuurlijk zeer veel dank een XenoX die de randstr() funtie heeft gemaakt ;)

Code:
ver.php

  1. <?php
  2.  
  3. // De functie om de random string te generen gemaakt door XenoX
  4. function randstr($length, $hash = "abcdefghijklmnopqrstuvwxyz0123456789") {
  5. $strlength = strlen($hash);
  6.  
  7. $string = "";
  8. for($i = 0; $i < $length; $i++) {
  9. $random = rand(0, $strlength) - 1;
  10.  
  11. $string .= substr($hash, $random, 1);
  12. }
  13.  
  14. return $string;
  15. }
  16.  
  17. /* met randstr() genereerd hij een random string
  18. je kan de lengte hiervan aanpassen door het getal
  19. te veranderen. Als je dit doet kan je beter ook het
  20. plaatje vergroten want anders past het er niet in.
  21. door randstr(hoeveel,welke tekens) welke tekens
  22. te definieren, kan je aanpassen welke tekens er
  23. gebruikt worden om de string te maken.
  24. standaard zijn dit alle lowercase letters en cijfers.
  25. */
  26.  
  27. $string = randstr(8);
  28.  
  29. setcookie("hash", md5($string), time()+3600); // De cookie instellen
  30.  
  31. $width = 100; // De breedte van het plaatje
  32. $height = 100; // De hoogte van het plaatje
  33.  
  34. $imgTXT = $string; //tekst die op de afbeelding komt
  35. $hTXT = rand(40,60); // De random y van de text
  36. $wTXT = rand(10,30); // De random x van de text
  37. $angleTXT = rand(-45, 45); // De random angle van de text
  38. $sizeTXT = 10; // De lettergrootte
  39.  
  40. $imgCreate = ImageCreate($width, $height); // Image maakwaarden
  41. $imgBg = ImageColorAllocate($imgCreate, 51, 51, 51); // De achtergrond kleur (zwart)
  42. $imgFg = ImageColorAllocate($imgCreate, 255, 255, 255); // De voorgrond kleur (wit)
  43.  
  44. ImageFill($imgCreate, 1, 1, $imgBg); // Het plaatje opvullen met de achtergrondkleur
  45.  
  46. Imagettftext($imgCreate,$sizeTXT,$angleTXT,$wTXT,$hTXT,$imgFg,'font/arial.ttf',$string) or die ("Please refresh");
  47.  
  48. // Imagettftext (int im, int size, int angle, int x, int y, int col, string fontfile, string text) = hoe de het werkt
  49.  
  50. header('Content-type: image/png');
  51. ImagePNG($imgCreate); // De image maken
  52. ImageDestroy($imgCreate); // De image klaar voor gebruik maken
  53.  
  54. ?>


form.php
  1. <table style="border: 1px solid black;">
  2. <?php
  3. If (isset($_POST['answer']) AND $_POST['answer'] != "")
  4. {
  5. // de invoer definieren
  6. $answer = $_POST['answer']; // Ophalen
  7. $answer = trim($answer); // Eventuele spaties weghalen
  8. $answer = strtolower($answer); // Er lowercase van maken
  9. $answer = md5($answer); // md5 encrypten
  10.  
  11. If (!isset($_COOKIE['hash']))
  12. {
  13. // als er geen cookie is een error weergeven
  14. die('Something went wrong please <a hef=\"form.php\">enter the number again</a>');
  15. }
  16. Else
  17. {
  18. // de cookie inhoud word de var $real
  19. $real = $_COOKIE['hash'];
  20. }
  21.  
  22. If ($answer == $real)
  23. {
  24. // Als de code correct is
  25. echo "<tr>
  26. <td> <b> Succesfully verified code </b> </td>
  27. </tr>";
  28. }
  29. Elseif ($answer != $real)
  30. {
  31. // Als de code niet correct is
  32. echo "<tr>
  33. <td> <b> Failed verifying the correct code </b> </td>
  34. </tr>
  35. <tr>
  36. <td> <center> <a href=\"form.php\"> Try again </a> </center> </td>
  37. </tr>";
  38. }
  39. }
  40. Else
  41. {
  42. // Het formulier weergeven
  43. ?>
  44.  
  45. <tr>
  46. <td> <img src="ver.php"> </td>
  47. <td> <b> Please enter the code below: </b>
  48. <form action="form.php" method="post">
  49. <input type="text" name="answer"><input type="submit" name="submit" value="Go">
  50. </form>
  51. </td>
  52. </tr>
  53.  
  54. <?php
  55. }
  56.  
  57. ?>
  58. </table>


Vergeet niet het font te downloaden en neer te zetten in de map font/
Downloaden: http://www.vuurbaak.com/test/ImgVer.zip Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (9)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.038s