06/03/2012 21:36

PHP İçin NTG-Güvenlik Kodu Yazılımı

PHP İçin NTG-Güvenlik Kodu Yazılımı

Yücel KAHRAMAN

Güzel bir güvenlik kodu sınıfı, Türkçe Kelime Bazlı, Karışık, Matematik ve Sayısal değerler de Güvenlik kodu oluşturmaya yarayan bir PHP yazılımı. Hazırladığınız yazılımlara çok kolay bir şekilde ekleyip kullanabilirsiniz.


Sınıfı kodlayan bizzat benim ve bu php sınıfı Creative Commons Attribution-Non Commercial-ShareAlike 3.0 Unported License. ile lisanslıdır, kullanmak isteyenler lisans koşullarına uymak zorundadır.


Alıntı yaparak siteniz de paylaşmak isterseniz, lütfen bu siteden alıntı yaptığınızı belirtiniz.




PHP KODU
<?php
/*///////////////////////////////////////////////////////////////////////////////*/
/*/             NETGENEL BİLİŞİM GÜVENLİK KODU SİSTEMİ V1 (NTG-GÜVENLİK-V1)         /*/
/*/-----------------------------------------------------------------------------/*/
/*/                  Telif - Copyright (c) 2012 Yücel KAHRAMAN (ByLegenS)            /*/
/*/                      http://www.netgenel.net   -   [email protected]                /*/
/*/                                    http://www.phpkf.com                            /*/
/*/    Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.    /*/
/*///////////////////////////////////////////////////////////////////////////////*/

// SESSION BAŞLATILIYOR

session_start();

if(isset(
$_GET['alanadi']) AND isset($_GET['tip']))
{    
    
// ÇIKTI ALINIYOR
    
$CIKTI = new GUVENLIK();
    
$CIKTI->ResimOlustur($_GET['tip'], $_GET['alanadi']);
}         
   
// GÜVENLİK KODU BAŞLANGICI
Class GUVENLIK
{

    
// KELİME DOSYASI

    
Private $dosya1 "guvenlik_kodu_kelime1.php";
    Private 
$dosya2 "guvenlik_kodu_kelime2.php";
    Private 
$dosya3 "guvenlik_kodu_kelime3.php";
    Private 
$dosya4 "guvenlik_kodu_kelime4.php";

    
// OLUŞTURULAN RESİM
    
Private $resim;


    Public Function 
ResimOlustur($tip$adres
    {
        
// RESİM BOYUTLARI AYARLANIYOR
        
$this->resim imagecreatetruecolor(221,40);

        
// SİTE ADRESİ RENKLERİ AYARLANIYOR
        
$renk2[] = imagecolorallocate($this->resim,255,255,255);   // beyaz
        
$renk2[] = imagecolorallocate($this->resim,220,220,220);  // açık gri
        
$renk2[] = imagecolorallocate($this->resim,200,200,200); // koyu gri

        // GÜVENLİK KODU RENKLERİ AYARLANIYOR
        
$renk[] = imagecolorallocate($this->resim,0,180,255);         // mavi
        
$renk[] = imagecolorallocate($this->resim,160,82,45);        // kahve rengi
        
$renk[] = imagecolorallocate($this->resim,244,164,96);       // turuncu
        
$renk[] = imagecolorallocate($this->resim,0,205,0);      // yeşil
        
$renk[] = imagecolorallocate($this->resim,238,0,0);     // kırmızı
        
$renk[] = imagecolorallocate($this->resim,238,18,137); // pembe
        
$renk[] = imagecolorallocate($this->resim,128,0,128); // mor

        // KELİME GÜVENLİK KODU
        
if ($tip == 1)
        {
            
$yazi  trim($this->Kelimeler());
            
$yazi  trim(strtoupper(strtr($yazi'ışğİŞĞ''ISGISG')));
        }

        
// MD5 GÜVENLİK KODU
        
else if ($tip == 2)
        {
            
$yazi  md5(rand());
            
$yazi  substr(trim(strtoupper(strtr($yazi'ışğİŞĞ''ISGISG'))),0,10);
        }

        
// MATEMATİK GÜVENLİK KODU
        
else if ($tip == 3)
        {
            
$sayi[]  = rand(1,999);
            
$sayi[]  = rand(1,999);
            
$yazi $sayi[0].' + '.$sayi[1];
            
$session $sayi[0]+$sayi[1];
        }

        
// SAYISAL GÜVENLİK KODU
        
else if ($tip == 4)
        {
            
$yazi rand(1111111111,9999999999);
            
$session $yazi;
        }

        if((
stristr($adres,'www.') == false) AND (stristr($adres,'www2.') == false)) $adres 'www.'.$adres;

        
// SİTE ADRESİ DÜZENLENİYOR
        
@preg_match('/(\w*)\.([a-zA-Z0-9-_]*)\.(\w*)*?/'$adres$donustur);

        
// SİTE ADRESİ BOŞ DÖNERSE TÜM ADRESİ AL
        
if ( (!isset($donustur[2])) OR ($donustur[2] =='') )
        {
            @
preg_match('/[^.]+$/'$adres$donustur2);
            
$taban  trim(strtoupper(strtr($donustur2[0], 'ışğİŞĞ''ISGISG')));
        }

        
// SİTE ADRESİ BOŞ DÖNMEZSE SADECE ADINI AL
        
else
        {
            
$taban  trim(strtoupper(strtr($donustur[2], 'ışğİŞĞ''ISGISG')));
        }


        
// RENK SAYISI ALINIYOR
        
$toplam=count($renk)-1;
        
$karma=rand(0,$toplam);

        
// RESİM TABANI HAZIRLANIYOR
        
imagefilledrectangle($this->resim0039950$renk2[1]);
        

        
// SİTE ADI YAZILIYOR RESİME
        
imagestring($this->resim1511,$taban$renk2[0]);
        
imagestring($this->resim151501,$taban$renk2[2]);
        
imagestring($this->resim1520015,$taban$renk2[0]);
        
imagestring($this->resim151001,'*'$renk2[2]);
        
imagestring($this->resim151105,'*'$renk2[2]);
        
imagestring($this->resim1516015,'*'$renk2[2]);
        
imagestring($this->resim1514017,'*'$renk2[2]);
        
imagestring($this->resim1512520,'*'$renk2[2]);
        
imagestring($this->resim1517030,$taban$renk2[2]);
        
imagestring($this->resim15125,$taban$renk2[2]);

        
        
        
// KELİME GÜVENLİK KODU
        
if ($tip == 1imagestring($this->resim202010,$yazi$renk[$karma]);

        
// MD5 GÜVENLİK KODU
        
else if ($tip == 2imagestring($this->resim206010,$yazi$renk[$karma]);

        
// MATEMATİK GÜVENLİK KODU
        
else if ($tip == 3imagestring($this->resim206010,$yazi$renk[$karma]);

        
// SAYISAL GÜVENLİK KODU
        
else if ($tip == 4imagestring($this->resim206010,$yazi$renk[$karma]);

        
        
        
// RESİM EKRANA YANSITILIYOR
        
$this->ResimGoster();

        
// KAYNAK KODLARI TEMİZLENİYOR
        
$this->KaynakTemizle();

        
        
        
// KELİME GÜVENLİK KODU
        
if ($tip == 1$_SESSION['guvenlik_kodu'] = $yazi;

        
// MD5 GÜVENLİK KODU
        
else if ($tip == 2$_SESSION['guvenlik_kodu'] = $yazi;

        
// MATEMATİK GÜVENLİK KODU
        
else if ($tip == 3$_SESSION['guvenlik_kodu'] = $session;

        
// SAYISAL GÜVENLİK KODU
        
else if ($tip == 4$_SESSION['guvenlik_kodu'] = $session;
    }



    
// KELİME DOSYASI ÇEKİLİYOR VE OKUNUYOR

    
Protected Function KelimeDosyasi() 
    {        
        
// DOSYA SEÇİLİYOR
        
$karma=rand(1,4);

        if(
$karma == 2)    $dosyaAc $this->dosya2;
        elseif(
$karma == 3)    $dosyaAc $this->dosya3;
        elseif(
$karma == 4)    $dosyaAc $this->dosya4;
        else 
$dosyaAc $this->dosya1;

        
        
// KELİME DOSYASI AÇILIYOR
        
$Ac fopen($dosyaAc"r");

        
// KELİMELER ALINIYOR
        
$metin fread($Acfilesize($dosyaAc));

        
// DOSYA KAPATILIYOR
        
fclose($Ac);

        
// KELİMELER DİZİ DEĞİŞKENE AKTARILIYOR
        
$Okundu preg_split("|\\n|si",$metin, -1);    

        
// TOPLAM KELİME ADEDİ ALINIYOR
        
$toplam=count($Okundu)-1;        

        
// RASTGELE KELİME SEÇİLİYOR
        
$karma=rand(0,$toplam);

        
// KELİME DÖNDÜRÜLÜYOR
        
return $Okundu[$karma];
    }

    
// KELİME DÖNDÜRÜLÜYOR
    
Protected Function Kelimeler() 
    {
        
$metin $this->KelimeDosyasi();
        return 
$metin;
    }

    
// RESİM OLUŞTURULDU EKRANA YANSITILIYOR
    
Protected Function ResimGoster() 
    {
        
header("Content-type: image/png");
        
imagepng($this->resim);
    }

    
// KAYNAK KODLARI TEMİZLENİYOR
    
Protected Function KaynakTemizle() 
    {
        
imagedestroy($this->resim);
    }
}

?>




Demo ve İndirmek için tıklayınız.





Yazıya yapılan yorumlar


Sen de yorum yap... (0)

Facebook Yorumları

İlgili Etiketler

» PHP » İçin » NTG » Güvenlik » Kodu » Yazılım » kodlar » captcha

Kullanıcı Girişi