转载请注明转载自:http://hi.baidu.com/liheyuan87/
SQL注入已经延伸到了JSP……所以我们必须提高警惕,本类可以对表单提交数据中(POST)的注入攻击做有效的防范,也可以对部分Get中的攻击做防范。并且自动过滤html标签和js代码。自动解决mysql入库时候单引号,双引号导致SQL语句出错的问题。
OK。切入正文。
现来使用方法[......]
转载请注明转载自:http://hi.baidu.com/liheyuan87/
SQL注入已经延伸到了JSP……所以我们必须提高警惕,本类可以对表单提交数据中(POST)的注入攻击做有效的防范,也可以对部分Get中的攻击做防范。并且自动过滤html标签和js代码。自动解决mysql入库时候单引号,双引号导致SQL语句出错的问题。
OK。切入正文。
现来使用方法[......]
昨天晚上写的类,进行了很多测试。
1、发现对HTML的过滤过于严格,而且发现本人的思路还很不清晰,而且HTML脚本涉及的标签甚多,所以今天换了文本编辑器,所有HTML转化交给文本编辑控件做。
2、虽然注入脚本不用担心了,但是挂马问题还没有解决,查了以下资料,有人这么总结道:
"在做一些网站(特别是bbs之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。
当然不能用 htmlencode 和 htmldec[......]
犯了极其愚蠢错误。。。
想获取request的user
tag.jsp?user=123
但是写
${user}怎么都不出
后来恍然,如果这么写要参数中是user对象才可以。。。
所以。应该为${param.user}
寒死……
另外感觉,jstl的写法不利于代码的清晰可见,特别是很多人喜欢用的sql的jstl实现暴露在表现层,不是好的习惯。查了一下,jstl到了1.2就再没有更新,可能也是这个意思吧。用Struts会好一点儿。[......]
网上查到的资料多数是直接在web.xml中直接加入<taglib>标签,孙鑫老师的《JSP/Servlet》一书中却用了在/tlds/目录下记录标签的<taglib>然后在web.xml中引用,觉得这样会更好一些,虽然第一次配置略微麻烦,但是维护简单方便。
(老孙这一章写得很啰嗦,可能是这块没有怎么仔细精简)
摘录如下:
1、在/webapp/tlds/下建立MyTaglib.tld
<taglib xmlns="http://java.sun.com/x[......]
import javax.servlet.*;
import javax.servlet.http.*;
public class CharsetFilter implements Filter
{
public void destroy()
{
}
&nbs[......]