Sql Korunma Yöntemleri

SQL injectiondan korunmada iki altın kural vardır.

Tüm ****-karakterlerden kaçınılmalıdır yani /,– gibi karakterlere izin verilmemelidir

Nümerik olarak beklenen parameterlerin nümerik olup olmadığı kontrol edilmelidir.

1. <%
2. Function security(data)
3. data = Replace (data ,”`” ,”” ,1,-1,1)
4. data = Replace (data ,”=” ,”” ,1,-1,1)
5. data = Replace (data ,”&” ,”” ,1,-1,1)
6. data = Replace (data ,”%” ,”” ,1,-1,1)
7. data = Replace (data ,”!” ,”” ,1,-1,1)
8. data = Replace (data ,”#” ,”” ,1,-1,1)
9. data = Replace (data ,”<” ,”” ,1,-1,1)
10. data = Replace (data ,”>” ,”” ,1,-1,1)
11. data = Replace (data ,”*” ,”” ,1,-1,1)
12. data = Replace (data ,”/” ,”” ,1,-1,1)
13. data = Replace (data ,”\\” ,”” ,1,-1,1)
14. data = Replace (data ,”And” ,”” ,1,-1,1)
15. data = Replace (data ,”’” ,”” ,1,-1,1)
16. data = Replace (data ,”Chr(34)” ,”” ,1,-1,1)
17. data = Replace (data ,”Chr(39)” ,”” ,1,-1,1)
18. security=data
19. End Function
20. %>

’Yukarıdaki function’ı aşağıdaki şekilde sayfaya eklemenizin ardından kullanabilirsiniz.

1. <%
2. sUserId = security(Request.Form(“userid” ))
3. sPassWd = security(Request.Form(“passwd” ))
4. %>

PHP için injectiondan korunmanın en basit yöntemi ise şöyledir:

$_POST veya $_GET ile gelen bütün değerleri ENT_QUOTES parametresi kullanılan htmlspecialchars fonksiyonundan geçirin.


Örnek:


$_POST[’sifre’] yerine

htmlspecialchars($_POST[’sifre’], ENT_QUOTES

Ve ayrıca bir ASP sitesinde de güvenliği artırmak için;

Sayfalarda tanımlayıcı hata mesajları kullanmamak: Kullanıcılara hata mesajları gösterilirken daha genel açıklamalar verilmeli. Örneğin bir login sayfasında kullanıcı hata mesajından faydalanarak kullanıcı adı veya şifre bilgisini tahmin etmemeli.

“Kullanıcı adı hatalı”
“Şifre hatalı”
“Şifre 6 karakterden uzun olmalı”

gibi hata mesajları yerine

“Kullanıcı adı veya şifre hatalı. Lütfen bilgilerinizi kontrol ediniz” denilebilir.

Kullanıcıların upload ettikleri dosyaların uzantısını kontrol etmek: Uygulamada upload kontrolü var ise sadece istediğimiz türdeki dosyaların yüklenmesine izin verilmeli. Çünkü yüklenen dosyalar webden erişilebilen bir klasörün altına kaydedilir ve yükleyen kişi browserdan yüklediği dosyayı çağırarak serverda dosyayı çalıştırabilir.

Kara listedeki dosyalar: asp, aspx, php. Gözardı edilmemelidir.
Selametle..

Yorum bırakın