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);
}
?>
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.
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
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
06 Ocak 2008
birden çok fotografı seçip tek seferde aynı yazıyı üzerlerine nasıl yazdırabilirim
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
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
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
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..
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
06 Aralık 2008
Çok teşekkür ederim. İyi çalışmalar…
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
17 Şubat 2009
peki resme arka plan değilde dosyadan resim eklemek için hangi kodu kullanmalıyım..teşekkürler şimdiden.
derya
02 Nisan 2009
harikasınız çok teşekkürler yakuter
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
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ı
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
03 Temmuz 2010
peki hocam güvenlik kodunu nasıl çözeriz ?
otomatik giriş yaptırmak istersem bir programda?
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
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.
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...
YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...
Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....
Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...
Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...
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.