web开发常见问题汇总

1、filter 的执行顺序

web.xml 中filter 节点的执行顺序和其定义顺序一致,filter 定义包含两部分  <filter></filter>节点和<filter-mapping></filter-mapping>节点,其中filter-mapping节点的顺序决定了filter的执行顺序,规范的filter定义因安如下格式

	<filter>
		<filter-name>filter1</filter-name>  
		<filter-class>filter class</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	
	<filter>
		<filter-name>filter2</filter-name>  
		<filter-class>filter class</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>filter1</filter-name>
		<url-pattern>*</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>filter2</filter-name>
		<url-pattern>*</url-pattern>
	</filter-mapping>

 在定义中能明确确定执行顺序,先filter1 后 filter2  和 filter-mapping 定义顺序 相同   

当需要通过filter 来实现字符编码过滤时非常重要,请确保字符编码过滤器被设定在第一个或适当的位置,否则会导致,编码过滤器前面的filter得不到相应的编码支持

 

2、XSS 及 SQL 注入简单防护

2.1、通过对输入参数进行htmlescape 进行HTML标签过滤可达到一定的XSS 防护作用,common utils提供了

HTMLUtils 工具 可以简单实现该功能

2.2、SQL注入,根据SQL注入的一般特性对请求参数中的一些关键字做过滤以达到防护作用,主要的关键字有

分号【;】双中划线【--】单引号【'】等一些能够引起SQL命令拆分的特殊符号或关键字

 2.3、spring中的统一规划实现参考

2.3.1、XSS

2.3.2、SQL注入

你可能感兴趣的:(web开发)