Key in image genereren
Auteur: Wim - 26 februari 2005 - 16:00 - Gekeurd door: Maarten - Hits: 8952 - 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
<?php
class keygen {
var $sleutel;
function keygen () {
$this->sleutel = $this->__generateKey();
}
function giveKey () {
return $this->sleutel;
}
function __generateKey() {
$lengte = 10;
$tekens = array_merge (range (0, 9), range ('a', 'z'));
$key = "";
for ($i = 0; $i < $lengte; $i++)
$key .= $tekens[rand(0, sizeof ($tekens))];
return strtoupper($key);
}
function makeImage () {
header("Content-Type: image/png");
$imagehandle = imagecreate(130, 20);
$white = imagecolorallocate($imagehandle, 255, 255, 255);
$black = imagecolorallocate($imagehandle, 0, 0, 0);
imagettftext($imagehandle, 15, 0, 0, 20, $black, '/var/www/html/keysystem/nrkis.ttf', $this->sleutel);
imagepng($imagehandle);
imagedestroy($imagehandle);
}
}
?>
<?php class keygen { var $sleutel; function keygen () { $this->sleutel = $this->__generateKey(); } function giveKey () { return $this->sleutel; } function __generateKey() { $lengte = 10; $key = ""; for ($i = 0; $i < $lengte; $i++) } function makeImage () { header("Content-Type: image/png"); $imagehandle = imagecreate(130, 20); $white = imagecolorallocate($imagehandle, 255, 255, 255); $black = imagecolorallocate($imagehandle, 0, 0, 0); imagettftext($imagehandle, 15, 0, 0, 20, $black, '/var/www/html/keysystem/nrkis.ttf', $this->sleutel); imagepng($imagehandle); imagedestroy($imagehandle); } } ?>
image.php
<?php
include ("keygen.class.php");
$keygen = new keygen();
if($_GET['actie'] === "img")
$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
echo ("<img src=\"?actie=img\"><br>"); # Geeft de key in de vorm van een image weer
echo ("Key: " . $keygen->giveKey() . "<br>"); # Geeft de key weer, zonder image
?>
<?php include ("keygen.class.php"); $keygen = new keygen(); if($_GET['actie'] === "img") $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 echo ("<img src=\"?actie=img\"><br>"); # Geeft de key in de vorm van een image weer echo ("Key: " . $keygen->giveKey() . "<br>"); # Geeft de key weer, zonder image ?>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|