PHP Classes
elePHPant
Icontem

File: class.guvenlik.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Zafer Karaca  >  CRECAPTCHA  >  class.guvenlik.php  >  Download  
File: class.guvenlik.php
Role: Class source
Content type: text/plain
Description: class
Class: CRECAPTCHA
Displays CAPTCHA validation images
Author: By
Last change: .
Date: 3 years ago
Size: 2,685 bytes
 

Contents

Class file image Download
<?Php
/*******************************************************************************
* Bu sinif forumlarinizda kullanabilmeniz icin guvenlik resmi olusturur.
* Sinfin Calisabilmesi icin sisteminizde GD2 Library kurulu olmas&#305; gerekmektedir.
*
* $_SESSION['GuvenlikNo'] olarak session a olusturdugumuz kodu atiyoruz forumlarinizda bu session kullanarak koda ulasabilirsiniz.
* Proje Ad&#305; : CRECAPTCHA
* Yazan : Zafer Karaca
* zkaraca@hotmail.com
*******************************************************************************/

class GuvenlikResmi{
       
// Arka plan resimlerinin bulundugu klasor
       
var $ArkaPlanResimKlasoru = "images";
       
// Kullanacagimiz fonlarin oldugu klasor
       
var $FontKlasoru = "fonts";
       
//olusturacagimiz guvenlik numrasinin uzunluk degeri
       
var $KarakterUzunlugu = 8;
       
// fontlarimizin buyukluk degeri
       
var $FontBoyutu = 20;
       
 
         private function
GuvenlikNumarasi()
        {
        
$_SESSION['GuvenlikNo']=$this->Karakter;
        }
        
// Guvenlik resimi icin numara olusturuyoruz
       
private function KarakterKod()
        {
            for (
$i = 0; $i < $this->KarakterUzunlugu; $i++)
            {
               
$this->Karakter .= chr(rand(0,30)+60);
            }
        }
       
// Arka plan icin resim seciyoruz resimler disaridan array olarak gelecek
       
public function ArkaPlanResmi($x)
        {
            
$this->BgDizi = explode(",",$x);
                 
$this->SecilenArkaPlan = $this->ArkaPlanResimKlasoru."/".$this->BgDizi[rand(0,count($this->BgDizi)-1)];
        }
       
// Kullanmak istedigimiz fontlari seciyoruz
       
public function FontListesi($x)
        {
            
$this->FontDizisi = explode(",",$x);
                
$this->SecilenFont = $this->FontKlasoru."/".$this->FontDizisi[rand(0,count($this->FontDizisi)-1)];
        }
       
/// Yeni resim Olusturuyoruz
       
private function ImgOlustur()
        {
       
$this->resim = imagecreatefrompng($this->SecilenArkaPlan);
        }
       
/// Fontumuz icin renk olusturuyoruz
       
private function FontRengiOlustur()
        {
           
/// RGB renk kodlarini kullanarak font renklermizi seciyoruz
           
$this->FontRengi = imagecolorallocate($this->resim,255-rand(100,255),255-rand(100,255),255-rand(100,255));
       
        }
       
/// Ekrana guvenlik resmimizi basiyoruz
       
public function Guvenlik()
        {
           
$this->KarakterKod();
           
$this->GuvenlikNumarasi();
           
$this->ImgOlustur();
           
$this->FontRengiOlustur();
           
/// Yaz&#305; karaktermizin resmin uzerinde duracagi aci, font boyutu, font rengi ve resmimiz uzerinde yazacak olan kodu belirliyoruz
           
imagettftext($this->resim,$this->FontBoyutu,rand(-5,5),rand(5,5),rand(40,40),$this->FontRengi,$this->SecilenFont,$this->Karakter);
           
header("Content-type:image/jpeg");
           
imagejpeg($this->resim);
        }
}
   
?>