Php İle Güvenlik Kodu Oluşturma

Güvenliğin ön plana çıktığı günümüz artık sitelere üye olurken normal formlara ek olarak bir de resim görüyoruz. Bu resmin üzerindeki yazıyı formdaki kutucuğa girmeden üye olamıyor veya daha geniş bir tanımla formu gönderemiyoruz. Bu üzerinde kod yazılı resim sayesinde, otomatik üye olan betiklerin önünü kesmiş ve sitemizi korumuş oluyoruz. Kendi sitelerinizde resim üzerine rastgele yazı veya sayı yazdırmak için şöyle bir kod kullanabilirsiniz.

< ?php
//olusturulmus resmi tarayiciya gonderir
create_image();
exit(); 

function create_image()
{
    //md5 ile rastgele sayi uretelim
    $md5 = md5(rand(0,999));
    //32 karakter yerine sadece 5 karakterini aliyoruz
    $pass = substr($md5, 10, 5); 

    //resmin boyutlarini ayarliyoruz
    $width = 100;
    $height = 20;  

    //resim kaynagini olusturuyoruz
    $image = ImageCreate($width, $height);  

    //Beyaz siyah ve gri renklerini olusturuyoruz
    $white = ImageColorAllocate($image, 255, 255, 255);
    $black = ImageColorAllocate($image, 0, 0, 0);
    $grey = ImageColorAllocate($image, 204, 204, 204); 

    //Zemini siyah yapiyoruz
    ImageFill($image, 0, 0, $black); 

    //Rastgele sayiyi resmin uzerine yaziyoruz
    ImageString($image, 3, 30, 3, $pass, $white); 

    //resme birkac cizgi koyuyoruz
    ImageRectangle($image,0,0,$width-1,$height-1,$grey);
    imageline($image, 0, $height/2, $width, $height/2, $grey);
    imageline($image, $width/2, 0, $width/2, $height, $grey);  

    //sunucuya resmin turunu belirtiyoruz
    header("Content-Type: image/jpeg");  

    //Yeni jpeg formatindaki resmin ciktisini aliyoruz
    ImageJpeg($image); 

    //Kaynagi temizliyoruz
    ImageDestroy($image);
}
?>

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

ismail kırbaş

ismail kırbaş
15 Ağustos 2007

Çalışmalarınız için teşekkürler…

hakan

hakan
06 Eylül 2007

iyi çalışmalar
yazınızı inceledim. gerçekten de türkçe bir kaynak olması açısından oldukça yararlı. ama benim bir sorunum çıktı.
ğ,ş,ı gibi türkçe karakterleri kabul etmiyor. benim projemi iptal mi etmem gerek.
bir çaresi yokmu acaba??

yakuter

yakuter
06 Eylül 2007

Bunun sebebi büyük ihtimalle kullandığınız fontu seçmemenizden kaynaklanıyor. Fakat şunu da belirtmeliyim ki güvenlik kodlarında Türkçe karakter kullanılması size sorun yaratabilir. Sıfır(0) ve O harfi bile sorun yarattığı için insanlar genellikle bunları kullanmaktan kaçınırken bir de Türkçe karakter kullanmak, kullanıcıların güvenlik kodunu hiç bir zaman doğru girememesine sebep olabilir. Bu nedenle Türkçe karakter kullanmamanızı tavsiye ederim.

burhan

burhan
06 Ocak 2008

birden çok fotografı seçip tek seferde aynı yazıyı üzerlerine nasıl yazdırabilirim

nessebar

nessebar
24 Ocak 2008

Kod benim serverımda çalışmıyor, ImageCreate diye bir fonksiyon yok diyor php de.

Serverım tamamen linux apache tabanlı. Nasıl çözeriz?

yakuter

yakuter
24 Ocak 2008

sunucunda php için GD Library’nin aktif hale getirilmiş olması lazım. Eğer değilse bu dediğin hata ile karşılaşabilirsin.

serhat koroglu

serhat koroglu
28 Şubat 2008

Merhaba,
Teşekkür ederim yazınız için.Ben güvenlik kodunun nasıl yapıldığını ilk bu sayfada gördüm.Daha önce yine rastgele sayı üreterek üretilen rakamların karşılığı olan resimleri sayfaya eklemeyi düşünüyordum.Peki sizce böyle birşey güvenli olur mu? Kısacası işe yarar mı?

lestioni

lestioni
07 Haziran 2008

eğer yazı normal olarak görünecekse botlar tarafından yine okunabiliyor.. o yüzden güvenli olur mu orası tartışılır.. zaten kodun genel mantığı da botların siteye üye olmasını/yorum yapmasını engellemek.. hiç olmasa da olur aslında yani.. ama basit bir blog sitesindeki iletişim formundan bile günde 50 tane hede gönderiyorsa botlar, düşünmek gerek..

Hakan

Hakan
02 Ağustos 2008

Sağol kanka, tam da bu lazım olmuştu. Hemen hallettim işimi ;)

Kani SEVEN

Kani SEVEN
04 Kasım 2008

peki resimdeki kodla formdan alınan kodu nasıl karşılaştırıcaz? örneğin kontol.php de

if($guvenlik_kodu(Kullanıcın girdiği)==(RESİM)

{

}

?

hisbab

hisbab
06 Aralık 2008

Çok teşekkür ederim. İyi çalışmalar…

erol yücel

erol yücel
30 Aralık 2008

Teşekkürler

fiki

fiki
01 Şubat 2009

resmi oluşturdukta bunun doğrulaması nasıl yapılacak? demek istediğim resimde ne yazdığını nasıl alacağız?

emre

emre
17 Şubat 2009

peki resme arka plan değilde dosyadan resim eklemek için hangi kodu kullanmalıyım..teşekkürler şimdiden.

derya

derya
02 Nisan 2009

harikasınız çok teşekkürler yakuter

turkhacking

turkhacking
16 Mayıs 2009

Hocam elinize sağlık.
Yazılarınızı arasıra takip etmekteyim ve bizleri hep kurtarıyorsunuz bu makaleler ile ve örnekleriniz ile :)

Birol TOPUZ

Birol TOPUZ
02 Haziran 2009

1-) Güvenlik kodunda yer alan bilgi $pass değişkeninde tutuluyor.
2-) session_start(); komutu ile SESSION başlatınız
3-) Resmin Oluşturulduğu sayfada, $pass değerini $_SESSION içinde bir değişkene aktarınız. $_SESSION['guvenlikKodu'] = $pass
4-) karşılaştırma sayfasında bu $_SESSION daki veri ile kullanıcının girdiğini karşılaştırınız.
if($_SESSION['guvenlikKodu'] == $_POST['girilen']){
// şeklinde doğrulama sayfasında kontrol edebilirsiniz.
}

meraklı

meraklı
30 Temmuz 2009

Kodun gerçekten çalıştığına inanıyormusunuz…?

php 5.2 kurulu olan bilgisayarımda kodu resim.php adı altında kayıt ettikten sonra (? önceki boşluk alındı)
başka bir php dosyaya sadece

satırı ekledim ve php dosyayı kayıt ettikten sonra ie7 web sayfasını çağırdığımda resim oluşmadığından gelemedi(acaba neden ?).

Dizi izle

Dizi izle
03 Temmuz 2010

peki hocam güvenlik kodunu nasıl çözeriz ?
otomatik giriş yaptırmak istersem bir programda?

Cabbar

Cabbar
26 Ocak 2011

Merhaba,
Bende GD ile ilgili aşağıdakilerin yazmasına karşın çalışmamaktadır.
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.9
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.44
WBMP Support enabled
XBM Support enabled

osman

osman
01 Nisan 2011

merhaba çok yeniyim php'de sorum biraz abes kaçarsa kusura bakmayın.

kodu denedim.. tek başına bir php sayfası olarak oluşturduğumda gayet güzel çalışıyor. fakat kodları index'in içine gömdüğümde çalışmıyor -header("Content-Type: image/jpeg"); satırda hata veriyor- . bu dosyayı nasıl çekebilirim.. include işe yaramıyor? cevabını bekliyorum ve verdiğiniz bilgiler için çok teşekkür ediyorum.

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.