login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Beveiliging > Key in image genereren

Key in image genereren

Auteur: Wim - 26 februari 2005 - 16:00 - Gekeurd door: Maarten - Hits: 8793 - Aantal punten: 4.33 (3 stemmen)





Dit systeempje is handig voor b.v. een register-pagina of login-pagina op een website. Zo voorkom je dat bot's accounts gaan aanmaken.

CONFIGURATIE:
Het script is eigenlijk klaar. Het enige dat je moet veranderen is deze regel:
imagettftext($imagehandle, 15, 0, 0, 20, $black, '/var/www/html/keysystem/nrkis.ttf', $this->sleutel);
Dit moet je veranderen: /var/www/html/keysystem/nrkis.ttf
Het moet veranderd worden naar een font ergens op de server. Wel ff de juiste link plaatsen, anders krijg je een error!

BENODIGDHEDEN:
Een server met PHP, waar ook GD geïnstalleerd is.


Ok, het is (denk ik) mijn eerste scriptje waar ik gebruik maak van GD, dus begin er niet over te klagen als er iets fout is, want het werkt!



Greetz,
Wim Mariën

Code:
keygen.class.php
  1. <?php
  2. class keygen {
  3. var $sleutel;
  4.  
  5. function keygen () {
  6. $this->sleutel = $this->__generateKey();
  7. }
  8.  
  9. function giveKey () {
  10. return $this->sleutel;
  11. }
  12.  
  13. function __generateKey() {
  14. $lengte = 10;
  15. $tekens = array_merge (range (0, 9), range ('a', 'z'));
  16. $key = "";
  17.  
  18. for ($i = 0; $i < $lengte; $i++)
  19. $key .= $tekens[rand(0, sizeof ($tekens))];
  20.  
  21. return strtoupper($key);
  22. }
  23.  
  24. function makeImage () {
  25. header("Content-Type: image/png");
  26.  
  27. $imagehandle = imagecreate(130, 20);
  28. $white = imagecolorallocate($imagehandle, 255, 255, 255);
  29. $black = imagecolorallocate($imagehandle, 0, 0, 0);
  30. imagettftext($imagehandle, 15, 0, 0, 20, $black, '/var/www/html/keysystem/nrkis.ttf', $this->sleutel);
  31. imagepng($imagehandle);
  32. imagedestroy($imagehandle);
  33. }
  34. }
  35.  
  36. ?>


image.php
  1. <?php
  2. include ("keygen.class.php");
  3. $keygen = new keygen();
  4.  
  5. if($_GET['actie'] === "img")
  6. $keygen->makeImage(); # Headers moeten veranderd worden, de ene met text, de andere met een image, dit is dus de enige oplossing om het figuurtje te tonen
  7.  
  8. echo ("<img src=\"?actie=img\"><br>"); # Geeft de key in de vorm van een image weer
  9. echo ("Key: " . $keygen->giveKey() . "<br>"); # Geeft de key weer, zonder image
  10. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

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