Login   Register  
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);
        }
}    
    
?>