1.SQL注入問題(從userFunc取出來的corps和deps可以直接拼接,不存在sql注入)
引入下面這個jar包可以調用處理文字參數的方法
對一些sql中用到in拼接的語句,直接拆分,拼成多個問好形式。
2.XSS漏洞(跨站點腳本編制、通過框架釣魚、連接注入)
注:並非所有參數都需要encodeForHTML編碼,需要的有:頁面跳轉方法中的String類型參數;查詢數據方法中的String類型且可能爲中文的參數;保存方法中的String類型且數據庫類型不是char類型的參數
3.Tomcat服務器配置X-Content-Type-Options、X-XSS-Protection、Content-Security-Policy、X-Frame-Options
打開tomcat/conf/web.xml,增加如下配置:
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>SAMEORIGIN</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
備註:如果找不到org.apache.catalina.filters.HttpHeaderSecurityFilter相關jar,可以去高版本Tocat中的catalina中將對應的HttpHeaderSecurityFilter.class拷貝進當前的低版本中。如果使用Tomcat8以上的版本,可以忽略這些配置,8.0以上版本已自帶安全相關配置,如需用到,直接去tomcat/conf/web.xml啓用即可。
4.設置方法的主體參數
@RequestMapping(value="/getUserAccount",method = RequestMethod.POST)
通過method參數可限定方法的訪問方式,默認post和get都支持