[英]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.