Anasayfa Kimler Online

Geri git   EzBeRiM > (¯`·._.·Oº°[vBulletin | Webmaster]°ºO·._.·´¯) > WebMaster & Script'Ler & Template
Kayıt ol Arama Bugünün Mesajları Bütün Forumları okunmuş kabul et

WebMaster & Script'Ler & Template Web Masterlar İçin Web Araçları Asp & PhpVe Diğer Script'Ler Aradığınız Bütün Template'leri Burda Bulabilirsiniz





Yeni Konu aç Cevapla
 
Konu Araçları
Alt 08-15-2006, 03:40 AM   #1 (permalink)
Görev Alma Vakti
 
crazylaz - ait Kullanıcı Resmi (Avatar)
Ezberim Üyelik BiLgilerim
Üyelik tarihi: Aug 2006
Nerden: istanbul
Yaş: 24
Üye No: 2358
Mesajlar: 2.323
Ezberim Tşk İstatistikleri Tesekkür: 1446
418 Mesajına
750 Kere Teşekkür Edildi
Ezberim Rep PuanLaması
İtibar Gücü: 180
Rep Puanı: 13268
Rep Derecesi:
crazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond reputecrazylaz has a reputation beyond repute
Dikkat ASP; Script Güvenligi



Bazi internet kullanıcıları , Database de kayıtlı bilgilerinizi öğreme veya sitenize zarar verme girişiminde bulunabilirler. Bu girişimleri bir nebze olsun engellemek için kullandığınız ASP scriptlerinde bazı noktaları güçlendirerek, Sisteme girişlerini engellemiş olabilirsiniz. Kullanıcılar genellikle; Sisteme karışık bilgiler girerek sistemi yorma ve açık yaratmaktan ibarettir. Bu doküman kısas olarak bu saldırılardan nasıl korunacağınızı anlatıyor.

Request Method Kullanımı

Bazı programcılar script yazımında Request() komutunu kullanırlar ama bu güvenli bir yöntem değildir. Güvenli olmasını sağlamak için REQUEST_METHOD komutunu kullanabiliriz. Bu komut sadece;

· ServerVariables

· QueryString

· Form

· Cookie

· ClientCertificate

Nesneleri ile kullanılabilir.

Herhangi bir form kullanımında kullanılan “Hidden” yani gizli bilgiler, başkaları tarafından değiştirilerek kullanılabilir. Bazı acemileri kandırmak içinse GET yerine POST kullanarak formları taşıyabiliriz, ama bunu da sezen kullanıcılar mutlaka olacaktır. Bu nedenle kısa bir örnek kod vermek istedim.

Form Sayfası

<form method="POST" action="processform.asp">
<input type="hidden" name="uyeid="<%=Rs("uyeid")%>">
Yeni Mail : <input type="text" name="Email">
<input type="submit">
</form>



Processform.asp

strUyeId = Request.Form("uyeid")
strYeniMail = Request.Form("Email")


Buraya kadar gayet güzel ama form sayfasındaki gizli alanı alan kullanıcı bu kodları alıp da HTML derleyicisi kullanarak kendine göre değiştirip istediği bilgiyi sizin processform.asp dosyasına gönderebilir. Ama bunu da engellemek için "REQUEST_METHOD". komutunu kullanacağız. Kullanmamızda ki amaç ise kullanıcının bize gönderdiği bilgiler GET şeklinde gönderirse işlemi durdurmaktır.

Bu komut Request.ServerVariables() standartlarında kullanılır.

If Request.ServerVariables("REQUEST_METHOD") <> "POST" Then
Response.End
End If


Bu kod; Eğer gelen bilgiler "POST" komutu ile geliyorsa devam et, gelmiyorsa işlemi durdur, anlamına geliyor.

Check Referer (Gönderen kontrolü)
Çoğumuz Mynet ve Domaindlx gibi hostlarda kullanılan dosyaları başka bir adresten neden ulaşılamadığını merak ediyoruz, Bu sadece birkaç kod dizisinden ibaret olduğunu öğrenince içim rahatladı. Burada kullanılan ise http protokolünü yeterli seviyede kullanmaktır.

HTTP_REFERER sayfanıza nerden gelindiğini anlatan bir ASP nesnesidir. Bu nesne ile REQUEST_METHOD birbirine yakın nesnelerdir. Şimdi yazacağımız kod dizisi ise, FORM ve QueryString nesneleri gelen bilgilerin kendi alan adınızdan mı yoksa başka bir alan adından mı geldiğini kontrol edecektir.

Public Function CheckReferer()

On Error Resume Next

Dim strHost, strReferer, blnCheckReferer

strHost = Request.ServerVariables("HTTP_HOST")
strReferer = Request.ServerVariables("HTTP_REFERER")

strReferer = Right(strReferer, Len(strReferer) - (InStr(1, strReferer, "://") + 2))
strReferer = Left(strReferer, InStr(1, strReferer, "/") - 1)

If strReferer = strHost Then
blnCheckReferer = True
Else
blnCheckReferer = False
End If

CheckReferer = blnCheckReferer

End Function


Gelen Bilgi Kontrölü
Formlarla beraber gelen bilgilere karşılık olarak DB’den bir bilgi istendiği zaman küçük bir bilgi kontrolü yapmak, kolay ve sağlam bir güvenlik koşuludur. Burada yapılan işlem ise formdan gelen bilginin bir sayı olup olmadığını kontrol etmek ve eğer bir sayı değil ise girdiyi 0 yapıp formdan gelen bilgiyi sınırlamaktır..

If strUyeId = "" OR IsNumeric(strUyeId) = False OR strUyeId < 0 Then
strUyeId = 0
End If


Bilgiler korumak için formdan gelen bilgileri düzenlemeye devam ediyoruz. Sıradaki işlem formlarda kullanılan herhangi bir ters işleme neden olabilecek yanlış karakterlerin kontrolünü yapmak. Bunuda aşağıda belirtilen şekilde yapıyoruz. Herhangi bir dizin yolu, dosya yolu belirtmesini engellemek için "../", Dblerle işlem yapılamaması için "--", ";", ve SQL komutları yani "SELECT", "INSERT"<, >"UPDATE", "DELETE", vs. Sonra boşluk ve Tırnak işaretlerinin kontrolünü yapmak gerekir. Ve son olarak HTMLEncode komutu ile formlarda herhangi bir html komutu kullanmalarını engellemektir.

strData = Replace(strData, "../", "")
strData = Replace(strData, "--", "")
strData = Replace(strData, ";", "")
strData = Replace(strData, "", "")
strData = Server.HTMLEncode(strData)


Bu seferlik bu kadar çeviri yeter, Yeni çeviriler çok yakında gelecek, ama isterseniz aşağıda bazı linkler var oraları kontrol edebilirsiniz.



crazylaz isimli Üye şimdilik offline konumundadır  
Cevapla
Ahantar Kelimeler: , ,



Konu Araçları

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 06:40 AM .


Powered by vBulletin® Version 3.6.10
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0
Design ßy: DoLuNaY ŞoVaLyEsİ
[Programdown Anti Virus Program] [Paylaşım Ortamı]
[Paylaşım Forumu] [ForumVEFA]
Sitemizde illegal paylaşım yasaktır.Sayfalarımızda bulunan içeriklerin telif haklarıyla ilgili bir şikayetiniz/sorunuz varsa bize ulaşmak için TIKLAYINIZ .
In this web site,illegal sharing is forbidden.If you have any problem/complaint about content’s copyrights in our page,please click here to contact us.