Tüm lamerler ilk sql injection açıklarını denerler. Gözden ufak bi kodcuk kaçırmamız başımızı yakabilir bence korunmanın en kolay yolu aşşagıda verecegim kod.
public static string CheckInput(string parameter)
{
for (int i = 0; i < blackList.Length; i++)
{
if ((parameter.IndexOf(blackList[i], StringComparison.OrdinalIgnoreCase) >= 0))
{
parameter = parameter.Replace(blackList[i], replaceList[i]);
return parameter;
}
}
return parameter;
}
public static string[] blackList = {"--",";--","/*","*/","@@",
"char","nchar","varchar","nvarchar",
"alter","begin","cast","create","cursor",
"declare","delete","drop", "exec","execute",
"select", "sys","sysobjects","syscolumns",
"fetch","insert","kill","open",
"table","update"};
public static string[] replaceList = { " ", " ", " ", " ", " ", "char", "nchar", "varchar",
"nvarchar", "charlter", "begie", "cast",
"create", "cursor", "declare", "delete",
"drop", "exec", "execute", "select",
"sys", "sysonjects", "syscolumns",
"fetch", "insert", "kill", "open",
"table", "update"};
}
Sakıncalı kelimeleri html karşılıklarına çevirip db ye kaydediyor böylece veri kaybı yaşanmayıp güvenlik sağlanıyor. Dezavantajı ise db de tanımladıgınız varchar alanları biraz yüksek tutmanız gerekecek...
9 kişi tarafından 4.0 olarak değerlendirildi
- Currently 4,000001/5 Stars.
- 1
- 2
- 3
- 4
- 5
Security