繁体   English   中英

浏览器从请求参数中删除+

[英]Browser removing + from request parameter

我正在尝试将Java Applet的SQL查询字符串作为参数传递给Servlet。

问题是在Applet中我有话要说:sql = select * from p where(+ p = 1)

Servlet中生成的sql参数为sql = select * from p where(+ p = 1)。

因此,谁知道如何防止浏览器从参数中删除+字符?

有转义符吗?

谢谢。

永远不要这样做。 这是SQL注入的直接方法(例如,任何用户都可以将DELETE请求插入到get字符串中并使服务器崩溃)

您可以为此使用java.net.URLEncoder

param = URLEncoder.encode(param, "UTF-8");

就是说,整个想法很漏水,很容易受到攻击。 可以轻松显示URL并手动向其发送DELETE FROM p 而是将命令作为参数发送,而不是完成SQL查询。 在服务器端保留并隐藏SQL查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM