|
| Makaleler |
| Toplam Makale |
3309 |
| Yayında |
3129 |
| Bekleyenler |
180 |
| Görüntüleme |
13261576 |
|
|
|
Resimler kullanilarak form guvenliginin saglanmasi:
Bu grafik ornegi icin PHP4 ve GD kutuphanesinin bilgisayarinizda yuklu olmasi gereklidir.Ayrica oturum ile bir degiskeni belirleyip ikinci bir sayfadan o degiskenin degerine erisecegiz.Boylece oturum degiskenini nasil kullandigimizi da gormus olacaksiniz...
Programa ilk olarak baslik fonksiyonu ile basliyoruz.Boylece tarayici kendisine bir grafik gonderilecegini anliyor ve ona gore hareket ediyor.Tarayicilar normal olarak hic bir baslik belirlenmediginde butun icerige "duz yazi" gibi davranirlar...
PHP:-
- <?php
-
-
-
- Header("Content-Type: image/png");
Biz bu ornek icin PNG dosyasi ile calisacagiz.Sizde yukarida png gecen yere "jpeg" yazarak dosya tipini degistirebilirsiniz.
Ardindan oturumu baslatiyoruz :
/* Bir oturum baslat */
session_start();
Bir degisken yaratip onu oturum degiskeni olarak tanimliyoruz.Oturum degiskenleri session_register() fonksiyonu ile tayin ediliyor ve $ isareti almadan degisken ismini parametre olarak aliyorlar.Fonksiyon cagrilirken tek tirnak ile yazilmalari gereklidir...
/* Degiskeni hazirla */
$sifre = "";
/* Degiskeni oturum degiskeni olarak kayit et */
session_register('sifre');
/* Icerigi hazirlamaya basla */
echo "";
echo "";
Simdi sira grafigin yaratilmasina geldi.Bu grafik icin ImageCreate () fonksiyonu kullaniliyor.$resim degiskeni kullanilarak fonksiyonun sonucunda donen deger bir degiskende depolaniyor.Fonksiyon iki tane parametre (bu fonksiyon icin butun parametreler sayi veri tipinde olmali) aliyor.Resim icin ilk parametre genislik ikkinci parametre ise yuksekligi tayin ediyor...
/* Resmi yarat.Ilk rakam genislik ikincisi yukseklik */
$resim = ImageCreate(200, 40);
Resim icine iki tane renk yerlestiriyoruz.Birincisi beyaz ikincisi siyah.Fonksiyon 4 parametre aliyor : resim degiskeni,RGB olarak kirmizi,yesil,mavi renk degerleri,
/* Iki tane rengi tanimlamak icin iki ayri degisken yaratiyoruz */
$beyaz = ImageColorAllocate($resim, 255, 255, 255);
$siyah = ImageColorAllocate($resim, 0, 0, 0);
/* Rastgele ifade ureteci */
/* Rastgele bir ifade uretmek icin besleme yaratiyoruz */
srand((double)microtime()*1000000);
/* md5 fonksiyonu 32 haneli bir ifade uretiyor */
$ifade = md5(rand(0,9999));
/* Bu 32 haneden 17'inci haneden sonraki 5 hanesi seciliyor */
$sifre = substr($ifade, 17, 5);
Resmin arka planini siyah olarak ayarliyoruz.Boylece beyaz font uzerinde gorunurlugu artiyor,
/* Resmi siyah ile doldur */
ImageFill($resim, 0, 0, $siyah);
ImageFill () Fonksiyonu 4 parametre aliyor : resim degiskeni,resmin baslangic koordinatlari (0,0) resim icin sol ust kose 0,0 ve sag alt kose 200 X 40 bu durumda, ve renk degeri (siyah).
Simdi de bu resmin uzerine hazirladigimiz raslantisal 5 haneli ifadeyi yazdiralim:
/* Uzerine beyaz olacak sekilde ifadeyi yaz */
ImageString($resim, 4, 96, 19, $sifre, $beyaz);
ImageString () bu fonksiyon 6 parametre aliyor : resim degiskeni,1 ile 5 arasinda degisen ve GD kutuphanesi ile hazir gelen fontlari temsil eden ikinci parametre,Koordinatlar X ve Y olarak,resim uzerine yazilacak ifade,resim uzerine yazilacak ifade icin renk degeri,
/* Resim verify1.png olarak kayit ediliyor */
ImagePNG($resim, "verify1.png");
Resim, programin icinde bulundugu klasor icinde "verify1.png" olarak kayit ediliyor.
ImagePNG () fonksiyonu iki paramatre almakatadir.Birincisi resim degiskeni ikincisi ise resmin kayit edilecegi dosya ismidir.
/* Resim icin ayrilan hafiza alanini bosalt */
ImageDestroy($resim);
Ile resim icin ayrilan hazifa bolgeleri temizleniyor.
PHP:-
- /* Form hazirla */
-
- echo "Sifre ifadesi : $sifre";
-
- echo "<BR>";
-
- echo "<img src="verify1.png">";
-
- echo "<br><br>";
-
- echo "Resimde gordugunuz 5 haneli ifadeyi kutuya yaziniz.
-
- (buyuk/kucuk harf ayrimina dikkat ediniz!)";
-
- echo " <form action="grafik_kontrol_form.php" method=post>";
-
- echo "<input name="kontrol" type="text" value="">";
-
- echo "<input type="submit" value="Gonder">";
-
- echo "</form>";
-
- echo "</body>";
-
- echo "</html>";
-
-
- ?>
Ardindan form hazirlaniyor ve kullanicinin resmin uzerindeki ifadeyi girmesi isteniyor.Form bir baska sayfaya istek yapiyor ve oturum icindeki $sifre degiskeni ile kullanicinin girdigi $kontrol degiskeni karsilastiriliyor.
Program toplam iki dosyadan olusuyor: grafik.php ve grafik_kontrol_form.php.Bu iki dosyanin da icerigi asagida yer almaktadir...
PHP:-
- <?php
-
-
-
- Header("Content-Type: image/png");
-
-
-
-
- session_start();
-
-
-
-
- $sifre = "";
-
-
-
-
- session_register('sifre');
-
-
-
-
- echo "<html><head><title>Onaylama</title></head>";
-
- echo "<body>";
-
-
-
-
- $resim = ImageCreate(200, 40);
-
-
-
-
- $beyaz = ImageColorAllocate($resim, 255, 255, 255);
-
- $siyah = ImageColorAllocate($resim, 0, 0, 0);
-
-
-
-
-
-
- srand((double)microtime()*1000000);
-
-
-
-
- $ifade = md5(rand(0,9999));
-
-
-
-
-
- $sifre = substr($ifade, 17, 5);
-
-
-
-
-
-
- ImageFill($resim, 0, 0, $siyah);
-
-
-
-
-
- ImageString($resim, 4, 96, 19, $sifre, $beyaz);
-
-
-
-
-
- ImagePNG($resim, "verify1.png");
-
-
-
-
- ImageDestroy($resim);
-
-
-
-
- echo "Sifre ifadesi : $sifre";
-
- echo "<BR>";
-
- echo "<img src="verify1.png">";
-
- echo "<br><br>";
-
- echo "Resimde gordugunuz 5 haneli ifadeyi kutuya yaziniz.
-
- (buyuk/kucuk harf ayrimina dikkat ediniz!)";
-
- echo " <form action="grafik_kontrol_form.php" method=post>";
-
- echo "<input name="kontrol" type="text" value="">";
-
- echo "<input type="submit" value="Gonder">";
-
- echo "</form>";
-
- echo "</body>";
-
- echo "</html>";
-
-
- ?>
Yukaridaki dosyayi grafik.php olarak kayit ediniz.
PHP:-
- <?php
-
-
-
- session_start();
-
-
-
-
-
-
-
-
-
- $kontrol = trim($kontrol);
-
-
-
-
-
-
-
-
-
-
-
- if ($sifre == $kontrol){
-
- echo "Kontrol Sifreniz Dogru! ";
-
- } else {
-
- echo "Lutfen geriye donup tekrar deneyiniz!";
-
- }
-
- ?>
Yukaridaki kod parcasini grafik_kontrol_form.php olarak kayit ediniz.
Makalenin orjinali yabanci bir PHP sitesinden alinmistir,

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız
Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.
Eklenme tarihi: 3-2-2006 Okunma: 2343
|
| Bu Makaleye Verilen Puan: |
Bu makaleye puan verilmemiş.
|
Kullanıcı Yorumları
Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
İlgili Dökümanlar
|
|
|