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

时间:2010-05-10 14:00:08

标签: java javascript http browser struts

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

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

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

所以任何人都知道如何阻止浏览器从参数中删除+字符?

是否有逃脱角色?

谢谢。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

您可以使用java.net.URLEncoder

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

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