Ejemplo n.º 1
0
        private void Log(string methodName, RouteData routeData)
        {
            string username = HttpContext.Current.User.Identity.GetUserName();
            string user_id  = HttpContext.Current.User.Identity.GetUserId();


            var controllerName = routeData.Values["controller"];
            var actionName     = routeData.Values["action"];


            string ip         = HttpContext.Current.Request.UserHostAddress;
            var    timestamp  = HttpContext.Current.Timestamp.ToString();
            var    status     = HttpContext.Current.Request.Params;
            var    path       = HttpContext.Current.Request.Path;
            var    session_id = HttpContext.Current.Session.SessionID;


            string[] parameters = new string[] { };



            string[] src = new string[] { "__RequestVerificationToken", "RememberMe", "Username", "Password", "ASP.NET_SessionId", "ai_user", "HTTP_REFERER", "HTTP_ORIGIN", "HTTP_CONTENT_LENGTH", "HTTP_CONTENT_LENGTH",
                                          "HTTP_CONTENT_TYPE", "HTTP_CACHE_CONTROL", ".ASPXAUTH", ".AspNet.ApplicationCookie",
                                          "ALL_HTTP", "ALL_RAW", "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "AUTH_TYPE", "AUTH_USER", "AUTH_PASSWORD", "LOGON_USER", "REMOTE_USER",
                                          "CERT_COOKIE", "CERT_FLAGS", "CERT_ISSUER", "CERT_KEYSIZE", "CERT_SECRETKEYSIZE", "CERT_SERIALNUMBER", "CERT_SERVER_ISSUER",
                                          "CERT_SERVER_SUBJECT", "CERT_SUBJECT", "CONTENT_LENGTH", "CONTENT_TYPE", "GATEWAY_INTERFACE", "HTTPS", "HTTPS_KEYSIZE",
                                          "HTTPS_SECRETKEYSIZE", "HTTPS_SERVER_ISSUER", "HTTPS_SERVER_SUBJECT", "INSTANCE_ID", "INSTANCE_META_PATH", "LOCAL_ADDR",
                                          "PATH_INFO", "PATH_TRANSLATED", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_HOST", "REMOTE_PORT", "REQUEST_METHOD", "SCRIPT_NAME",
                                          "SERVER_NAME", "SERVER_PORT", "SERVER_PORT_SECURE", "SERVER_PROTOCOL", "SERVER_SOFTWARE", "URL", "HTTP_CONNECTION", "HTTP_ACCEPT",
                                          "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_COOKIE", "HTTP_HOST", "HTTP_USER_AGENT", "HTTP_UPGRADE_INSECURE_REQUESTS" };

            Dictionary <string, string> finalToDumpToDB = new Dictionary <string, string>();



            foreach (string keyval in status.Keys)
            {
                bool isToAdd = true;
                foreach (string _src in src)
                {
                    if (_src.ToString() == keyval.ToString())
                    {
                        isToAdd = false;
                    }
                }

                if (isToAdd)
                {
                    finalToDumpToDB.Add(keyval, status[keyval]);
                    parameters = finalToDumpToDB.Values.ToArray();
                }
            }



            // var message = String.Format("Date: {0} | Username: {1} | IP Addresss: {2} | Path: /{3}/{4} | RequestType: {5} ", timestamp, username, ip, controllerName, actionName, methodName);

            //var message = String.Format("{0} PATH: /{1}/{2}. USERNAME: {3} IP ADDRESS:{4} DATE: {5} | {6}", methodName, controllerName, actionName, username,ip, timestamp);
            //Debug.WriteLine(message, "Log");


            // Enter db
            using (var dbContext = new LogTestDBEntities7())
            {
                var logData = dbContext.LogDatas.SingleOrDefault(s => s.SID == session_id);

                if (logData == null)
                {
                    logData     = new LogData();
                    logData.IP  = ip;
                    logData.UID = user_id;
                    logData.SID = session_id;
                    //
                }

                string DBParameters = string.Concat(parameters);

                //dbContext.LogDatas.Add();

                var logDetails = new LogDetail();
                logDetails.Timestamp = timestamp;
                logDetails.SID       = session_id;
                logDetails.Details   = path;
                logDetails.Queries   = DBParameters;


                logData.LogDetails.Add(logDetails);

                // dbContext.LogDatas.Add(logData);
                dbContext.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        private void Log(string methodName, RouteData routeData)
        {

            string username = HttpContext.Current.User.Identity.GetUserName();
            string user_id = HttpContext.Current.User.Identity.GetUserId();


            var controllerName = routeData.Values["controller"];
            var actionName = routeData.Values["action"];


            string ip = HttpContext.Current.Request.UserHostAddress;
            var timestamp =  HttpContext.Current.Timestamp.ToString();
            var status = HttpContext.Current.Request.Params;
            var path = HttpContext.Current.Request.Path;
            var session_id = HttpContext.Current.Session.SessionID;
            

            string[] parameters = new string[] { };

            

            string[] src = new string[] { "__RequestVerificationToken","RememberMe", "Username","Password","ASP.NET_SessionId","ai_user","HTTP_REFERER","HTTP_ORIGIN","HTTP_CONTENT_LENGTH", "HTTP_CONTENT_LENGTH",
                "HTTP_CONTENT_TYPE", "HTTP_CACHE_CONTROL",".ASPXAUTH", ".AspNet.ApplicationCookie", 
                "ALL_HTTP", "ALL_RAW", "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "AUTH_TYPE", "AUTH_USER", "AUTH_PASSWORD", "LOGON_USER", "REMOTE_USER",
                "CERT_COOKIE", "CERT_FLAGS", "CERT_ISSUER", "CERT_KEYSIZE", "CERT_SECRETKEYSIZE", "CERT_SERIALNUMBER", "CERT_SERVER_ISSUER", 
                "CERT_SERVER_SUBJECT", "CERT_SUBJECT", "CONTENT_LENGTH", "CONTENT_TYPE", "GATEWAY_INTERFACE", "HTTPS", "HTTPS_KEYSIZE",
                "HTTPS_SECRETKEYSIZE", "HTTPS_SERVER_ISSUER", "HTTPS_SERVER_SUBJECT", "INSTANCE_ID", "INSTANCE_META_PATH", "LOCAL_ADDR",
                "PATH_INFO", "PATH_TRANSLATED", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_HOST", "REMOTE_PORT", "REQUEST_METHOD", "SCRIPT_NAME",
                "SERVER_NAME", "SERVER_PORT", "SERVER_PORT_SECURE", "SERVER_PROTOCOL", "SERVER_SOFTWARE", "URL", "HTTP_CONNECTION", "HTTP_ACCEPT",
                "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_COOKIE", "HTTP_HOST", "HTTP_USER_AGENT", "HTTP_UPGRADE_INSECURE_REQUESTS" };

            Dictionary<string, string> finalToDumpToDB = new Dictionary<string, string>();



            foreach (string keyval in status.Keys)
            {
                bool isToAdd = true;
                foreach (string _src in src)
                {
                    if (_src.ToString() == keyval.ToString())
                        isToAdd = false;

                }

                if (isToAdd) { 
                finalToDumpToDB.Add(keyval, status[keyval]);
                 parameters = finalToDumpToDB.Values.ToArray();
                }

            }



           // var message = String.Format("Date: {0} | Username: {1} | IP Addresss: {2} | Path: /{3}/{4} | RequestType: {5} ", timestamp, username, ip, controllerName, actionName, methodName);

            //var message = String.Format("{0} PATH: /{1}/{2}. USERNAME: {3} IP ADDRESS:{4} DATE: {5} | {6}", methodName, controllerName, actionName, username,ip, timestamp);
            //Debug.WriteLine(message, "Log");


            // Enter db
            using(var dbContext = new LogTestDBEntities7())
            {

                var logData = dbContext.LogDatas.SingleOrDefault(s => s.SID == session_id);

                if (logData == null)
                {
                    logData = new LogData();
                    logData.IP = ip;
                    logData.UID = user_id;
                    logData.SID = session_id;
                    //
                }

                string DBParameters = string.Concat(parameters);

                //dbContext.LogDatas.Add();

                var logDetails = new LogDetail();
                logDetails.Timestamp = timestamp;
                logDetails.SID = session_id;
                logDetails.Details = path;
                logDetails.Queries = DBParameters;
               

                logData.LogDetails.Add(logDetails);

              // dbContext.LogDatas.Add(logData);
               dbContext.SaveChanges();
           }
        }