ASP.Net, PHP, MVC vs Web Programlama C# WinForms ve Mono GTK SQL ve XML Gibi DataSource Tipleri

C# Bir Injection Önlemi

Tek tek açıklamayacağım birçok injection yönteminden korunmak adına inputlarımızı veritabanına kaydederken kullanabileceğimiz basit bir metod paylaşacağım.

/// <summary>
/// Gönderilen input eğer injection oluşturacak bir karakter içeriyorsa true döner.
/// </summary>
/// <param name="datas">Param cinsinden stringler</param>
/// <returns></returns>
public static bool InjectionVarMi(params string[] datas)
{
    if (datas.Count() > 0)
    {
        char[] injectKeys = { ',', '\'', '"', '(', ')', '+', '<', '>', ' ', '/' };
        foreach (string data in datas)
        {
            if (!string.IsNullOrEmpty(data))
            {
                foreach (char d in data)
                {
                    if (injectKeys.Contains(d))
                        return true;
                }
            }
        }
    }
    return false;
}

Çağırmak için aşağıdaki yöntemi kullanabiliriz.

InjectionVarMi("string1", "string2",......);

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir