Güvenlik Kod Uygulaması

Uzun bir aradan sonra yeniden merhaba… İşlerimin yoğunluğundan dolayı bayadır makale ya da bir haber giremiyordum boş anımda bir güvenlik kod uygulamasını anlatmak istedim….

Uzun bir aradan sonra yeniden merhaba… İşlerimin yoğunluğundan dolayı bayadır makale ya da bir haber giremiyordum boş anımda bir güvenlik kod uygulamasını anlatmak istedim….

güvenlik.php:
<?
function olustur () {
 $sifre = substr(md5(rand(0,999999999999)),-6);
 if ($sifre) {
  session_start();
  $_SESSION["guv"] = $sifre;
  $width  = 100;
  $height =  30;
  $resim  = ImageCreate($width,$height);
  $beyaz  = ImageColorAllocate($resim, 255, 255, 255);
  $rand   = ImageColorAllocate($resim, rand(0,255), rand(0,255), rand(0,255));
  ImageFill($resim, 0, 0, $rand);
  ImageString($resim, 5, 24, 7, $_SESSION["guv"], $beyaz);
  ImageLine($resim, 100, 19, 0, 19, $beyaz);
  header("Content,type: image/png");
  ImagePng($resim);
  ImageDestroy($resim);
 }
}
olustur();
?>

Evet şimdi satır satır açıklayalım….

function olustur () {
bu satırda olustur(); fonksiyonumuzu tanımlıyoruz

$sifre = substr(md5(rand(0,999999999999)),-6);
bu satırda rasgele rand() fonksiyonu ile üretilen degerin md5() fonksiyonu ile şifreleyip subtr() fonksiyonu ile oluşan degerin son 6 karakterini alıp $sifre değişkenimize atıyoruz..

if ($sifre) {
satırı ile $sifre değişkenimiz doğru döndüyse yani bir deger elde edildiyse işlemlere başla dedik

session_start();
oluşan degeri bir oturum değişkenine kaydedebilmek için oturumumuzu başlattık

$_SESSION["guv"] = $sifre;
bu satırda oluşan degerimizi $_SESSION["guv"] oturum değişkenimize atadık. Böyle yapmamızın nedeni diğer sayfalarda buna ulaşabilmek. Eğer ki oluşan değeri bir txt yada benzeri bişeyde tutsaydık bunu bulup güvenliğimizi delip geçebilirlerdi…

$width  = 100;
$height =  30;

bu iki satırda ise oluşturacağımız resmin en ve boy ölçümlerini belirledik yani resmimiz 100×30 boyutlarında olucak…

$resim  = ImageCreate($width,$height);
bu satırda ImageCreate(); fonksiyonu ile belirlediğimiz ölçülerde bir resim yaratıp bunu $resim değişkenine atıyoruz…

$beyaz  = ImageColorAllocate($resim, 255, 255, 255);
bu satırda ise ilerde kullanabilmek için bir renk tanımladık ve rengimizi $beyaz değişkenine atıyoruz…

$rand   = ImageColorAllocate($resim, rand(0,255), rand(0,255), rand(0,255));
bu satırda da bi önceki işlem gibi bir renk tanımladık fakat farklı olarak bu satırda tanımladığımız renk sürekli değişen bir renktir. isterseniz siz bu 2 satırda başka renkleri deneyebilirsiniz…

ImageFill($resim, 0, 0, $rand);
bu satırımızda ImageFill() fonksiyonu kullanarak oluşturmuş olduğumuz resmimizin arkaplan rengini belirledik… Ve bu sürekli değişen bir arkaplan olucaktır. dediğim gibi isterseniz siz bunu sabitleyebilirsiniz…
Görüntü koordinatları, sol üst köşeden başlar (x=0, y=0). Görüntünün sağ alt köşesi ise x=$width y=$height dir. Tipik grafik standartının tam tersi olduğu için bunu unutmayınız…

ImageString($resim, 5, 24, 7, $_SESSION["guv"], $beyaz);
bu satırda ise ImageString(); fonksiyonu ile tanımlamış olduğumuz resim dosyasında belirlediğimiz koordinatlara daha önceden elde ettiğimiz kodu resmimizin üzerine yazdırıyoruz.. burda yazılan yazının rengi beyazdır… burda 24,7 x ve y koordinatlarını temsil etmektedir  burda font 1 ile 5 arasında değişen bir sayıdır.. Bunlar bir dizi yerleşik fontu temsil etmektedir..

ImageLine($resim, 100, 19, 0, 19, $beyaz);
burda ise oluşturduğumuz resmimize bir çizgi çiziyoruz.. yani maksat biraz daha zorlaştırmak… burdaki 100 19 0 19 değerleri ile oynayabilirsiniz daha değişik çizgiler elde etmek için…

header("Content,type: image/png");
bu satırımızda artık oluşan resmimizin tip’ini belirliyoruz ben png olarak belirledim siz isterseniz jpeg olarak da belirleyebilirsiniz..

ImagePng($resim);
bu satırda ise oluşturduğumuz resmi ekrana basıyoruz…

ImageDestroy($resim);
en son olarak resmimiz için ayrılan belleği boşaltıyoruz…

}
}

ile fonksiyonumuzu sonlandırıyoruz

olustur();

diyerek artık guvenlik.php imizi bitiriyoruz…

form.php:

<? session_start(); ?>
<FORM METHOD="POST" ACTION="kontrol.php">
<img src="guvenlik.php"><br>
Güvenlik Kodu:<INPUT TYPE="text" NAME="kod"><br>
<INPUT TYPE="submit">
</FORM>

burda dikkatli olmamız gereken oluşan ve değişen resmimizi <img src=guvenlik.php> şeklinde ekrana göstermemizdir eğer siz guvenlik.php yi include edip ardından olustur(); derseniz ekranda resim yerine abuk subuk karakterler görebilirsiniz…

kontrol.php:
<?
session_start();
if (empty($_POST["kod"]) || empty($_SESSION["guv"]) || !$_SESSION["guv"]) {
 echo "<a href=form.php>Lütfen Form Sayfasına Gidiniz..</a>";
} else {
 if ($_POST["kod"] == $_SESSION["guv"]) {
  echo "Güvenlik Kodu Doğru…";
  unset($_SESSION["guv"]);
  exit;
 } else {
  echo "<a href=form.php>Güvenlik Kodu Hatalı Lütfen Yeniden Deneyiniz…</a>";
 }
}
?>

ilk satırda oturum başlatıyoruz $_SESSION["guv"] oturum değişkenine erişebilmek ve oturum kontrolü için….

if (empty($_POST["kod"]) || empty($_SESSION["guv"]) || !$_SESSION["guv"]) {
bu satırda bazı kişilerin direk güvenlik kodumuzu geçmelerini engellemek için yazdığımız bir dizi güvenlik satırı yazdık…
empty() fonksiyonu ile kod değişkenin gelip gelmediği aynı şekilde $_SESSION["guv"] oluşup oluşmadığı ya da !$_SESSION["guv"] ile ziyaretçi için bir oturum kaydedilmiş mi diye bakıyoruz.. eğer bunlar olmamış ise ekrana form sayfasına gitmeleri için yönlendirme linkini yazdırıyoruz….

Eğer kişi form doldurmuş ise devreye

if ($_POST["kod"] == $_SESSION["guv"]) {
satırı giriyor. burda formdan gelen kod değeri ile oluşan ve session değişkeninde sakladığımız değerleri karşılaştırıyoruz eğer bu 2 deger birbiri ile uyuşuyorsa eşit ise ziyareçiyi bilgilendiriyoruz ve ardından unset() fonksiyonu ile oluşturduğumuz session oturum değişkenini sonlandırıyoruz yani içeriğini yok ediyoruz ve programımızı sonlandırıyoruz..

Eğer gelen değer ile session’da sakladığımız değerler birbirine eşit değilse ziyaretçiyi uyarıyoruz…

Evet bir güvenlik kod uygulaması mantığını anlatmaya çalıştım bu basit bir resim ortaya suncaktır. Siz isterseniz dahada karmaşık bir resim elde edebilirsiniz veya arkaplanda renk yerine kendinizin kareli vb resimlerinizi kullanabilirsiniz yada fontları değiştirebilirsiniz…

GD uygulamaları için http://tr.php.net/gd kütüphanesini inceleyebilirsiniz…

Anlattığım sistemin çalışan hali

www.ysfkc.com

Şimdilik Benden Bu Kadar…

Yusuf KOÇ

Arama Terimleri:

php güvenlik kodu, omegle güvenlik kodu sorunu, omeglede güvenlik, html güvenlik kodu, omegle sürekli kod soruyor, güvenlik kodu php, omeglede güvenlik kodu sorunu, omegle her defasında güvenlik kodu yazıyorum, omegle şifre nasıl çözülür, omeglede güvenlik kodu

Benzer Konular:

Yazar - 31 Mayıs 2006. Kategori PROGRAMLAMA. Bu yazıya yazılan yazıları RSS üzerinden takip edebilirsiniz RSS 2.0. Yorum yazabilir veya geri izlemede bulunabilirsiniz.

"Güvenlik Kod Uygulaması" için yapılan toplam yorum - 22

  1. yusuf koç gerçekten çok güzel bir uygulama yapmışssınız.ayrıca her satırdaki kodlarıda açıkladığınız için ayrıca teşeekkür ediyorum.çok anlaşılır olmuş ve ilk uygulamamda çalıştı.teşekkürler.

  2. eline saglik güzel paylaşımlar olmuşş inş calismalarin devam eder.
    iyi calismalar kolay gele…

  3. Büyük küçük harf duyarlılığını nasıl ortadan kaldırabilirim acaba

  4. Yusuf ellerine saglık.cok gusel bir uygulama,sorunsuz calısıyor.basarılar

  5. kodlarınızı kendi bilgisayarımda denedim fakat localhostta guvenlik.php sayfasını çaliştirsam
    aşağıdaki hataları alıyorum..GD kutuphanemde kurulu..bu warninglerin nedeni ne olabilir…

    Warning: rand(): Invalid range: 0..-727379969 in c:\apache\htdocs\ert\guvenlik.php on line 3

    Warning: Cannot send session cache limiter – headers already sent (output started at c:\apache\htdocs\ert\guvenlik.php:3) in c:\apache\htdocs\ert\guvenlik.php on line 5

    Warning: Cannot add header information – headers already sent by (output started at c:\apache\htdocs\ert\guvenlik.php:3) in c:\apache\htdocs\ert\guvenlik.php on line 15
    ‰PNG  IHDRdà•)°PLTEÿÿÿè§Ó ¯û&^IDATxœcø>0 8ñá¿z»z~(ÏşÌŸ:»toşËy0žòüO•Æçê¡<ɉϊ¼?=çҍOÈÃxó„ár6óêê-çÁx3Ïü«·±óPÁ€‡‚gPV¬”QIEND®B`‚

  6. iyi hiç böyle bişey yapıldığını tahmin etmezdim..

  7. ImageCreate fonksiyonunu niye tanımıyor olabilir?
    Fatal error: Call to undefined function ImageCreate() in C:\Inetpub\wwwroot\PROJELER\DENEME\guvenlik.php on line 9
    (bu arada benim localhost

  8. php.ini deki extension bölümünden gd2 yi aktif ediniz.. sonra apache restart atınız..

  9. ‰PNG  IHDRdà•)°PLTEÿÿÿè§Ó ¯û&^IDATxœcø�>0 8�ñá¿z»z~(ÏşÌŸ:»toş�Ëy0�òüO•Æçê¡<ɉϊ¼?=çÒ�OÈÃxó„ár6óêê-çÁx3Ïü«·±óPÁ€‡‚gPV¬”Q�IEND®B`‚

    ekranda resim yerine böyle bişey çıktı neden olabilir acaba ?

  10. burda dikkatli olmamız gereken oluşan ve değişen resmimizi şeklinde ekrana göstermemizdir eğer siz guvenlik.php yi include edip ardından olustur(); derseniz ekranda resim yerine abuk subuk karakterler görebilirsiniz…

  11. ‰PNG  IHDRdà•)°PLTEÿÿÿè§Ó ¯û&^IDATxœcø�>0 8�ñá¿z»z~(ÏşÌŸ:»toş�Ëy0�òüO•Æçê¡<ɉϊ¼?=çÒ�OÈÃxó„ár6óêê-çÁx3Ïü«·±óPÁ€‡‚gPV¬”Q�IEND®B`‚

    bu tarz hata alan arkadaslar.Html kodları ile beraber kullandığınız için böyle oluyor. Onun yerine resmi baska bir sayfada kodlayıp diğer sayfada img src ile çağırmanız gerekiyor. sayfa basınada ob_start(); sonuna ob_end_flush(); olarak çağırırsanız olur. Maalesef başka çözümü yok

  12. Kardeş böyle bir uygulama daha iyi anlatılamazdı herhalde eline sağlık…

  13. fonksiyonunuzu fonksiyonlar dosyasında tanımlarsınız ama ayrı bir dosya yapıp orda da o fonksiyonu kullanırsınız aksi takdirde hatalar alırsınız.

  14. form.php çalıştırıyorum ama resim gözükmüyo nedendir acaba

  15. Saolasın Hocam Ellerin Dert Görmesin.

    Ayrıca

    ‰PNG  IHDRdà•)°PLTEÿÿÿè§Ó ¯û&^IDATxœcø�>0 8�ñá¿z»z~(ÏşÌŸ:»toş�Ëy0�òüO•Æçê¡<ɉϊ¼?=çÒ�OÈÃxó„ár6óêê-çÁx3Ïü«·±óPÁ€‡‚gPV¬”Q�IEND®B`‚

    gibi hatalar alıyorsanız < ? php gibi boşluklar bırakmayın yani

  16. arkadaşlar anlamsız karakterler almamanız için özellikle yazımda da belirtmiştim guvenlik.php dosyasını img tagları arasında göstermelisiniz.

    şeklinde form dosyasınıza dahil etmelisiniz.

  17. güzel çalışma eline sağlık ama büyük bir çalışma yaptığımızı düşünün ben sadece gd için bir tane function dosyası yapamam ki kendi fonksiyonlarımın yanında olmasını isterim, bunun bir yolu yok mu yani illa img src=”gd.php” mi demek gerekiyor?

  18. teşekkür ederim çok işime yaradı

  19. maalesef bu güvenlik kodu güvenli değil kuran arkadaşlar denesin önce tüm bilgileri girin gönder diyin sonra geri deyip tekrardan hatalı olarak girin 2. defada güvenlik kodu yanlış olsada giriyor…

  20. arkadaşlar 3 tarayıcıda denedim form.php de güvenlik resmi gözükmüyor ne yapabilirim..

  21. Teşekkürler..

  22. Selam arkadaşım. Güvenlik uygulaması harika bir uygulama emeğinize sağlık… Ben uggulamayı yaptım. Ve uygulamayı mesela yazar_yorumlari.php

    Kodunu ekledim kod çıkıyor. Ama kodu yazmadan da yorum yapabiliyor kullanıcılar. Bazen spam mesaj atabiliyorlar. Bunu yorumla ilişkilendirmek için ne yapmamız gerekiyor??? Yane kodu girmeden kesinlikle gönderemezsin mesajı… Bu konuda aydınlatırsan bizi çok seviniriz. Tekrar emagine sağlık…

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>