ASP'de Güvenlik Önlemleri - Papatyam Forum

Papatyam Forum

Go Back   Papatyam Forum > ..::.BİLGİSAYAR & TEKNOLOJİ.::. > Web Master > asp

Yeni Konu aç  Cevapla
 
Seçenekler
Alt 21 January 2009, 22:03   Mesaj No:1

agasarlinuris

Papatyam Aktif Üyesi
Avatar Otomotik
Durumu:agasarlinuris isimli Üye şimdilik offline konumundadır
Papatyam No : 1326
Üyelik T.: 16 July 2008
Arkadaşları:0
Cinsiyet:
Mesaj: 53
Konular:
Beğenildi:
Beğendi:
Takdirleri:10
Takdir Et:
Konu Bu  Üyemize Aittir!
Standart ASP'de Güvenlik Önlemleri

ASP'de Güvenlik Önlemleri

Eğer sitenizde yorum yapma veya herhangi birşey eklettirme, yaptırma gibi isler yapıyorsanız bunlar için bazı kontroller yapmak gerekir.

Mesela ziyaretçinin yorum'unda yazdığı html kod'unu pasif hale getirmeniz lazım.

form = TRIM(Server.HTMLEncode(request.form("form&quo t))

Bu kodda TRIM ile formun basındaki ve sonundakı boslukları kaldırır."HTMLEncode" ise zararlı HTML kodlari ayıklar.

2. yol ise

Eger kullanıcı yorum yerine meta refresh kodu koyarsa sayfaniz belirli bir saniye de yönlendirme ile baska sayfaya gönderilir.Bunun benzeri ASP ile de yapilmaktadir.Response.redirect ile yapılabillir.Bunları önlemek içinde

<%
form = replace(form, "<", "& lt;&quot
form = replace(form, ">", "& qt;&quot
%>

Kodlarını kullanrak açma, kapama kodlarını pasif hale getirirsiniz.
Bunların dışında Replace komutumuzla argo kelimelere sansür koyabilirsiniz.

Not : Eger Html Encode ile ile formu alirsaniz türkçe karakterler gözükmeyecektir.Bu durumda form'u HTML Encode ile almaniz yeterli olacaktir.2. yol da olur.

Ben size ikinci yolu öneriyorum.Neden derseniz örnek vereyim.Mesela formdan aldiginiz "" smiley(gülücük)'i herhangi bir resimle replace ettirmek isterseniz 2. yolu kullanmalısınız.

Baska bir açıkta üyelik sistemleri gibi form ile giriş yapılan uygulamalarda ' OR ' kelimesinin giriş yapmasıdır.Eğer kullanıcı adını yazar ve şifreye bu yazılırsa ve tedbiri alınmamışsa o zaman kullanıcı şifreyi bilmeksizin o kullanıcıyla giriş yapabilir.Bu tehlikeyi önlemek içinde

<% form = replace(form, "'", "&quot %>

Böylece ' yazılması birşey idafe etmez.

Buna SQL INJECTıON da dahildir.

Siz bir querystring'i işlettiğiniz sayfada aldığınız querystring'i kontrol etmezseniz ve kişi '; drop table tablo gibi bir komut yazarsa SQL komutumuz olmadığı halde bu kodu işletir ve o tablo'nun içindeki verilerin tamamını uçurur.
Bunu gene üstteki replace ile engelleyebilirsiniz.

Tavsiyem eğer ID numarası olarak alıyorsanız şu kontrolden geçirmeniz gerekir.

<% IF NOT ISNumeric(form) THEN response.end %>

gibi bir kod kullanmanız yeterli olacaktır.Böylece ID numarası yerine yazı yazıldığı zaman işlemi durdurursunuz ve SQL Injection'ı engellemiş olursunuz.

Bunların hepsi için yazılan şu fonksyonu kullanabilirsiniz.Bu fonksiyon ile bütün Injection açıklarınıda kapatabilirsiniz.Böylece queystring'de bir probleminiz kalmaz.Bu fonksiyon'u sayfanızın en başına koyun.

<%
function security(data)
data = Replace (data ,"`","",1,-1,1)
data = Replace (data ,"=","",1,-1,1)
data = Replace (data ,"&","",1,-1,1)
data = Replace (data ,"%","",1,-1,1)
data = Replace (data ,"!","",1,-1,1)
data = Replace (data ,"#","",1,-1,1)
data = Replace (data ,"<","",1,-1,1)
data = Replace (data ,">","",1,-1,1)
data = Replace (data ,"*","",1,-1,1)
data = Replace (data ,"/","",1,-1,1)
data = Replace (data ,"\","",1,-1,1)
data = Replace (data ,"And","",1,-1,1)
data = Replace (data ,"'","",1,-1,1)
data = Replace (data ,"Chr(34)","",1,-1,1)
data = Replace (data ,"Chr(39)","",1,-1,1)
security=data
end function
%>

Fonksiyonumuz bu.
Querystring'leri alırkende

<% bilgi = security(request.querystring("bilgi&quot) %>

gibi alırsanız bu fonksiyonun kontrol'ünden geçirerek ve açıkları elemine ederek almış olursunuz.
Alıntı ile Cevapla
Cevapla

Bookmarks

Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler

Benzer Konular
Konu Başlıkları Konuyu Başlatan

Papatyam Forum Ana Kategori Başlıkları

Cevaplar Son Mesajlar
Çocuk ve güvenlik umut Kadın ve Çocuk Sağlığı 0 14 September 2013 15:26
Windows Güvenlik Duvarı Nedir ? CoNQueRoR_61 Biligisayar Yardım Bölümü 0 27 February 2009 20:52
Sağlık Bakanlığı'nın kuş gribi önlemleri PESTEMAL Sağlık ve Hastalıklar 0 12 March 2008 13:08

Yeni Sayfa 1

www.papatyam.org Ana Sayfa

Tefekküre Davet Köşesi

Papatyam Sosyal Medya Guruplarımıza Katılın

                       Instagram         

Papatyam alemdarhost.com sunucularında barındırılmaktadır.