PHP | Jquery | Css | Codeigniter | Unity3D


PHP ile normalde sitenizi ziyaret eden veya yorum yazan kullanıcıların ip adresini alırız bunu normalde güvenlik için yaparız diyebilirim ama öyle bir şeyle karşı karşıya kalırsınız ki sitenizin bir açığından istifade ederek yanlış hareketlerde bulunabilecek ziyaretçileriniz olabilir :) Ya da yorum yazarken haddini aşan reklam yapma amacı güden ziyaretçileriniz olacaktır ve bu şahıs bu hareketlerde bulunuyorsa güvendiği birşey vardır. Bir web programcı bunu tespit edebilmeli ve süprizlerle karşılaşmamak için güvenlik önlemini almalıdır. Genellikle bu tür saldırılarda bulunmaya meyleden şahıslar arkalarına çoğu zaman proxy servislerini alırlar hatta bir sistemin login sistemini kırmak için ellerinden geleni yaparlar. Diyelim ki login sistemimiz var ve bu login sayfasını biraz güvenli kılmak istiyosak naparız ? İlk olarak şifrenin güvenli olmasını sağlarız yani uzun ve karmaşık şifreler belirlemeye özen gösteririz. Bundan sonra diyelim ki bir saldırgan brute force ( kaba kuvvet ) yani rastgele şifre deneme robotu yöntemiyle sisteminize saldırabilirler. Bu yöntem mesela 2 - 3 sn aralıklarla sisteminize farklı kombinasyonlarda kulanıcı adı ve parola dener ve bunu yapan bir robot programdır.

- Böyle bir durumda almamız gereken ilk önlem nedir ?

Böyle bir durumda ilk yapılması Php güvenlik önlemi olarak sisteme girilen şifrenin kaçıncı defa aynı ip den yanlış girildiğini kontrol etmektir.

PHP gerçek IP adresi bulmak

Diyelim ki böyle bir önleminiz yok ve saldırgan da aynı proxy ( vekil sunucu ) üzerinden sisteminize saldırıda bulunuyor olsun. Böyle bir durum saldırganın işine gelir ama biz aynı ip den gelen mesela 5. yanlış deneme ardından o ip yi engellesek nasıl olur ? Tabiki güvenliği bir katman daha artırmış oluruz. Ama hala tam güvenlik sağlamış olmayız.

- Diyelim ki saldırgan proxy list programı kullanıyor o zaman naparız ?

- Proxy list kullanımı şöyledir: Bizim aldığımız 5. yanlış girilen ip yi engelleme önlemine karşı yapılan bir tepkidir. Yani aynı ip den saldıran saldırgan farklı sitelerden hazırladığı 200 - 300 kadar farklı proxy yi örneğin 3 denemeden sonra sürekli değiştirmektedir bu saldırdığı sisteme göre değişiklik gösterir.

- Peki burda ne yapmalıyız ?

Burda yapmamız gereken saldırganın gerçek ip adresini almaktır biz yanlış parola deneyen, sisteme sürekli saldıran ip nin proxy değil de gerçek ip sinini yaklarsak birkaç denemeden sonra onu da etkisiz kılabiliriz. Saldırganın gerçek ip sini almanız aslında saldırganın kimliğini belirleme kadar da gidebilir ;) Evet sanırım bu makalede php ile gerçek IP adresini almanın önemini anlamışızdır sanırım hele de bu tür saldırıların en fazla web tabanlı sistemlere yapıldığı bir dünyada yaşıyorsak.

- Bu makalede php gerçek IP almanın öneminden nasıl kullanacağımızdan ve biraz da php ve güvenlikten bahsetmiş olduk bakalım php ile gerçek ip nasıl alınır:


<?php

$ip=$_SERVER['REMOTE_ADDR']; // Normalde kullandığımız kod budur.
                             // Proxy IP sini alır.
echo "IP: ".$ip ;

?>


<?php
function getRealIpAddr()  
{  
    if (!empty($_SERVER['HTTP_CLIENT_IP']))  
    {  
        $ip=$_SERVER['HTTP_CLIENT_IP'];  
    }  
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //Proxy den bağlanıyorsa gerçek IP yi alır.
     
    {  
        $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
    }  
    else  
    {  
        $ip=$_SERVER['REMOTE_ADDR'];  
    }  
    return $ip;  
}  

echo "Gerçek IP: ".getRealIpAddr();

?>

İkinci kod bloğu saldırganın ya da ziyarteçinin gerçek IP adresini alır.

Google


Soru ve Tartışma Konularınız için;

Yayınlayan
comments powered by Disqus
Yazar: Windofelm
Description: Sitenizi ziyaret eden kötü niyetli kullanıcıların, proxyden dahi bağlanmış olsa modem çıkış ip adresini bulabilirsiniz.