Beispiel #1
0
        public static NameValueCollection GetQueryString(string url)
        {
            if (string.IsNullOrEmpty(url) || url.IndexOf("?", StringComparison.Ordinal) == -1)
            {
                return(new NameValueCollection());
            }

            var querystring = url.Substring(url.IndexOf("?", StringComparison.Ordinal) + 1);

            return(TranslateUtils.ToNameValueCollection(querystring));
        }
Beispiel #2
0
        public static NameValueCollection GetQueryStringFilterXss(string url)
        {
            if (string.IsNullOrEmpty(url) || url.IndexOf("?", StringComparison.Ordinal) == -1)
            {
                return(new NameValueCollection());
            }

            var attributes = new NameValueCollection();

            var querystring = url.Substring(url.IndexOf("?", StringComparison.Ordinal) + 1);
            var originals   = TranslateUtils.ToNameValueCollection(querystring);

            foreach (string key in originals.Keys)
            {
                attributes[key] = AttackUtils.FilterXss(originals[key]);
            }
            return(attributes);
        }
Beispiel #3
0
        public static string AddQueryStringIfNotExists(string url, NameValueCollection queryString)
        {
            if (queryString == null || url == null || queryString.Count == 0)
            {
                return(url);
            }

            var index = url.IndexOf("?", StringComparison.Ordinal);

            if (index != -1)
            {
                var query = TranslateUtils.ToNameValueCollection(url.Substring(index).Trim('?', '&'), '&');

                foreach (string key in query.Keys)
                {
                    if (queryString[key] != null)
                    {
                        queryString.Remove(key);
                    }
                }
            }

            return(AddQueryString(url, queryString));
        }