Exemplo n.º 1
0
        // Tu następuje analiza danych ->
        public AnalyzedRequest IsRequestSafe()
        {
            AnalyzedRequest result = new AnalyzedRequest();

            result.IsRequestSafe = true;

            SVMController svm = new SVMController();

            // Sprawdzenie typu oraz ilości parametrów
            if (request.RequestType == "GET" && request.QueryString.Count > 0)
            {
                foreach (string key in request.QueryString.Keys)
                {
                    // !skipParams.Contains(key) - Zostało dodane w celu wyeliminowania analizy pustych requestów podtrzymania sesji.
                    // svm.Classyfi -> Tu następuje klasyfikacja czy parametr jest niebezpieczny czy też nie.
                    if (!skipParams.Contains(key) && !svm.Classyfi(request.QueryString.Get(key)))
                    {
                        result.SuspiciousValues += " " + request.QueryString.Get(key);
                        result.IsRequestSafe     = false;
                    }
                }
            }  // Sprawdzenie typu oraz ilości parametrów
            else if (request.RequestType == "POST" && request.Form.Count > 0)
            {
                foreach (string key in request.Form.Keys)
                {
                    // !skipParams.Contains(key) - Zostało dodane w celu wyeliminowania analizy pustych requestów podtrzymania sesji.
                    // svm.Classyfi -> Tu następuje klasyfikacja czy parametr jest niebezpieczny czy też nie.
                    if (!skipParams.Contains(key) && !svm.Classyfi(request.Form[key]))
                    {
                        result.SuspiciousValues += " " + request.Form[key];
                        result.IsRequestSafe     = false;
                    }
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        public bool IsRequestClean()
        {
            SVMController controler = new SVMController();

            return(controler.Classyfi(request.RawUrl.ToString()));
        }