• 20-10-2009, 13:40:02
    #1
    Merhaba arkadaşlar,

    Eğer kullanıcının ip adresi 10.10.10 ile başlıyorsa bu kullanıcıya herhangi bir problem çıkartmadan sayfa üzerinde çalışmaya devam et demek istiyorum. asp yazmayalı neredeyse 4 5 yıl oldu ve test ortamında yok script direk çalışmak zorunda bu yüzden tek atış şansım var. Kendi yazdığım kod bu ama çalışmıyor sanırım. Yardımlarınızı bekliyorum.

     
    ip = Request.ServerVariables("REMOTE_ADDR" ) 
    if  ip.Contains("10.10.10")  then  
    response.redirect "default.asp" 
    else  
    end  if
  • 20-10-2009, 16:39:16
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ip = Request.ServerVariables("REMOTE_ADDR" )
    if InStr(ip,"10.10.10") then ' yada if Left(ip,9) = "10.10.10." Then
    response.redirect "default.asp"
    else
    Response.Write"birine mi baktın kardeş "
    end if

    InStr kullanmanı tavsiye etmem. Left daha doğru sonuç verecektir.

    Nedenine gelince;
    InStr string içerinde belirtilen stringin olup olmadığını kontrol eder. IP 11.10.10.10 olsa ya da 10.10.101.10'a da izin verecek ve default.asp'ye yönlendirecektir. 10.10.10'un ipnin tamamının herhangi bir yerinde olması işlemi tamamlayacaktır.

    Fakat Left(...) ile yapılacak kontrolde ilk 9 karakterin 10.10.10. olma zorunluluğu bulunuyor.

    Umarım yardımcı olabilmişimdir.
  • 06-11-2009, 22:32:00
    #3
    Üyeliği durduruldu
    erolife adlı üyeden alıntı: mesajı görüntüle
    ip = Request.ServerVariables("REMOTE_ADDR" )
    if InStr(ip,"10.10.10") then ' yada if Left(ip,9) = "10.10.10." Then
    response.redirect "default.asp"
    else
    Response.Write"birine mi baktın kardeş "
    end if

    InStr kullanmanı tavsiye etmem. Left daha doğru sonuç verecektir.

    Nedenine gelince;
    InStr string içerinde belirtilen stringin olup olmadığını kontrol eder. IP 11.10.10.10 olsa ya da 10.10.101.10'a da izin verecek ve default.asp'ye yönlendirecektir. 10.10.10'un ipnin tamamının herhangi bir yerinde olması işlemi tamamlayacaktır.

    Fakat Left(...) ile yapılacak kontrolde ilk 9 karakterin 10.10.10. olma zorunluluğu bulunuyor.

    Umarım yardımcı olabilmişimdir.
    verdiğin left kullanımı arkadaşın işini görecektir fakat instr konusunda verdiğin bilgiler yanlış olduğu için düzeltmek istedim..
    instr komutu belirtilen stringin içerisinde olup olmadığını değil kaç adet olduğunu belirtir InStr(ip,"10.10.10") komutu eğer ip değişkeni içerisinde "10.10.10" var ise 1 döndürecektir 1'de asp de true manasını taşıdığı için if sorgusu yerine getirilecektir..