• 09-08-2013, 11:14:39
    #1
    php'de postun geldiği domaini veya ip'yi alma gibi bir şansımız varmı?

    Dışardan postla işlem yaptırılmamasını istiyorum.Bunun nasıl önüne geçebilirim?
  • 09-08-2013, 11:50:29
    #2
    nekrofil adlı üyeden alıntı: mesajı görüntüle
    php'de postun geldiği domaini veya ip'yi alma gibi bir şansımız varmı?

    Dışardan postla işlem yaptırılmamasını istiyorum.Bunun nasıl önüne geçebilirim?
    referrer kontrol ederek yapabilirsin. $_SERVER['HTTP_REFERER'
    ama fake referrer gösterebilirler. header referer bilgisi kolay manipüle edilebilen bir bilgidir.

    bunun yerine formun olduğu sayfada zaman ve ip tabanlı bir session oluşturabilirsin.
    postun geldiği sayfada bu session ya da ipnin kontrolünü yaparsın.
    böylece formun olduğu sayfaya gidip sessionı ya da cookie yi oluşturmayanlar postun geldiği sayfada direk reddedilebilirler.

    ben olsam

    $_SESSION['formkontrol'] = md5(substr(time(),0,7) . $_SERVER['HTTP_USER_AGENT'] . $_SERVER["REMOTE_ADDR"]);

    gibi bir session oluştururum.
    sonra bu sessionı postunu geldiği sayfada aynı bilgiler ile kontrol ettiririm.
    böylece formun olduğu sayfaya girilmezse, 15 dakika içinde gönderilmezse, ya da farklı bir tarayıcı veya ip adresinden gelirse reddedilir.
  • 09-08-2013, 11:56:18
    #3
    form sayfasında session oluştur. session yoksa işlem yapmasın.
  • 10-08-2013, 01:00:39
    #4
    O session mecbur formdan post edilecek,formdan post ediliyorsa botla çok rahat alınır ve post edilir.Robot yazılımın önüne captcha dışında geçilemez browser ne yapıyorsa robotta aynısını yapabilir.