Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

id='a17 gibi bir sql injection açığı denendiğinde if komutu ile yönlendirme yapması

merhaba arkadaşlar benim istediğim örneğin http://www.site.com/index.php?id=17 tarzı kullanılan sayfanın http://www.site.com/index.php?id='a17 halde denenince bir yönlendirme yapmasını istiyorum. Bu if komutunu tam olarak nasıl bir şekilde yapıcağımı çıkaramadım... Bir yardım edermisiniz?

if (!is_numeric($id))
{
echo 'burada yönlendirme kodu oluyor';
exit; //burda kesiyoruz, çünkü adam id yerine başka bişiler denemiş
}else{} 

böyle bir kod denedim ama id=17 dede burada yönlendirme kodu oluyor yazısı çıkıyor id='a17 dede burada yönlendirme kodu oluyor yazısı çıkıyor :S nerede hata yaptım???
  • $id = $_GET['id']; beyler tamam sorunun nedenini buldum.. başta verdiğim kodu eklerken. $id = '$_GET[id]'; şeklinde koymuşum :D işte gözden kaçan küçük hatalar :)
    spywaredz 11 yıl önce yazdı
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • bensedat18 adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    39 cevap - 52 soru
    $id = $_GET['id'];

    şeklinde gerekli atamayı yaptınız değil mi?
    • spywaredz adlı üyenin fotoğrafı spywaredz
      evet yapılı...
      11 yıl önce yazılmış
  • genckan adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    9 cevap - 5 soru
    Dostum şu siteye bir bak istersen
    Dostum şu siteye bir bak istersen
    stackoverflow.com/questions/1381362/intval-or-is-numeric-php
  • zero_three adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    15 cevap - 36 soru
    sadece is_numaric ve intval fonksiyonlarını kullanarak sql açığından arınamazsınız.

    Bunların yanında belirli karakter dönüşümleri yaparsanız daha sağlıklı olacaktır.

    Yani sql ve benzeri durumlarda kullanılan komutları escape etmek daha mantıklı diye düşünüyorum..
  • spywaredz adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    15 cevap - 93 soru
    arkadaşlar zaten sitemde sql injection açığı yok kapatmayı biliyorum. ben sadece böyle birşey denendiğinde boş sayfa çıkması yerine anasayfaya yönlendirmesini istiyorum...
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      sprintf yi arastiriniz bence.
      11 yıl önce yazılmış
  • katapult adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    53 cevap - 22 soru
    Bunu veritabanında böyle bir id var mı diye sorgulatıp eğer yoksa anasayfaya dönmesi için bir komut ilede yapılabilir diye bir düşüncem var yanlışmıyım :)
    • spywaredz adlı üyenin fotoğrafı spywaredz
      onu nasıl yapabilirim?
      11 yıl önce yazılmış