v2.5.2
Giriş yap

adres satırına girilen illegal komutaları deneyenlere ban uygulama.

aydinkeskin
597 defa görüntülendi

adres satırında
?id=54$saslas
vb şekilde url ulaşmaya çalışanları
nasıl tespit edebiliriz.
ve bu tespit ettiğimiz kişilere 403 sayfasına nasıl yönlendirebilir.z

requrest uri ile alırız sanırım ama bu sefer elle girildiği belli olmaz
normal sayfalarda da sorun çıkartabilir gibime gelmdi

bunla ilgili fikir kod parçacığı veya kısa bir teori anlatabiecek varmı acaba.

Cevap yaz
Cevaplar (3)
aydinkeskin
1441 gün önce

umityatarkalkmaz

onları yapabileceğini zannetmiyorum link yapısından ziyade zaten herhangi formlarda token kullanıyorum ve bu tokenlerin atıyorum 1 dk gibi süreleri mevcut.

benim tam olarak istediğim

kişi detay.php?id=4 olarak girmeyi denediğinde 3-5 tekrar sonra ip üzerinden banlanması belirli bir süre sonra banı kalkması

banlamaya kadar işlemleri az çok kafamda tutuyorum ama öncesini düşünemeidm bir türlü.

illegal giriş deneyince ip db yada txt ye yazdırılır o txt header.php de sorgulatırılır varsa siteye giremez yoksa girer

3 gün geçmiş ip leride yine aynı şekilde silebiliriz.

ama işte detay.php?id=5 aslında bu yol var sitede ama detay.php/5 şeklinde açılıyor kişi detay.php?id=5 bu şekilde girişini her şekilde engellemek.

kartal
1443 gün önce

Gayet basit
<?php

if(!is_numeric($_GET["id"])){
    header('location:seninsayfa.php');
    exit;
    /*
    Kendine bir hata günlük sayfası oluşturabilirsin
    yada veri tabanında tutarsın
    
    Yeni kayıt olduğunda gelen bildirimlerden bakarsın yönetim panelinden 
    hatta telefonuna mesaj olarak da gönderilmesini sağlayabilirsin.
    
    Kendi tanımlayıcı kodlarını veri tabanına kaydedebilirsin
    
    Örn :
    Kodlar = 1,2,3 vb.
    veri tabanında errorcode alanına 1,2,3 bunlardan birini kaydedebilirsin.
    
    Mesela 
    numeric değilse kod : 1
    db de kayıtlı olmayan bir id ise : 2
    yukarıda if else de uygun karşılığı olan başka bir senaryoya göre 3, 4,5 ne kadar gerekli ise kodları çoğaltabilirsin
    
    */
}
Aslına bakarsan bu kodları sitenin tamamı için kullanabilirsin
db hatası, yada mysql hataları vb. çoğaltılabilir.

?>

umityatarkalkmaz
1443 gün önce

Eğer sitenin link yapısını çözmüş biri varsa sıkıntı çıkarabilir. Önlem almak kolay session oluştur o session varsa girilen parametle ile işlem yapılsın.
Aklıma gelen 2. problem link yapını bilen adam delete işlemi gibi bir işlemin yolunu biliyorsa oraya sql yazıp tablolarını alabilir. Çözüm gene kontrollden geçiyor kontrol için en basit yol session oluşturmak yada işlemin öncesinde yetki kontrölü yapmak eğer login olan biri varsa ve yetkisi adminse silsin gibi bir şey yazdıysan ve sonra sildiysen sql yazamaz ve tablolarına senden izinsiz biri işlem yapmamış olur