首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring Security 跟 Tomcat 安全实践

2012-11-16 
Spring Security 和 Tomcat 安全实践?一、注册密码复杂度通过js判断,找到一简单好用代码以供参考:function?

Spring Security 和 Tomcat 安全实践

?

一、注册密码复杂度通过js判断,找到一简单好用代码以供参考:
function?CheckPassword(password){????????var?strength =?new?Array();???????strength[0] =?"Blank";???????strength[1] =?"Very Weak";???????strength[2] =?"Weak";???????strength[3] =?"Medium";???????strength[4] =?"Strong";???????strength[5] =?"Very Strong";
????????var?score = 1;
????????if?(password.length?<?1)???????????????return?0;???????????????//return strength[0];
????????if?(password.length?<?4)???????????????return?1;???????????????//return strength[1];
????????if?(password.length >= 8)??????????????score++;????????if (password.length >= 10)??????????????score++;????????if?(password.match(/\d+/))??????????????score++;????????if?(password.match(/[a-?z]/) &&??????????????password.matc?h(/[A-Z]/))??????????????score+?+;????????if?(password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/))??????????????score++;
????????return strength[score];}
二、失败登录处理自定义FORM_LOGIN_FILTER,重载UsernamePasswordAuthenticationFilter的attemptAuthentication方法,判断用户登录失败信息,进行用户锁定等。https通讯配置 <intercept-url>标签的requires-channel属性,例如:
<http>    <intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https/>    <intercept-url pattern="/**" access="ROLE_USER" requires-channel="any"/>  </http>

三、密码MD5密文保存配置如下:<!-- 密码编码 -->????<b:bean?id="passwordEncoder"?class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"?></b:bean>???????<!-- 认证管理 -->????<authentication-manager?alias="am">????????<authentication-provider>???????????<!-- <password-encoder hash="md5"/>? -->???????????<password-encoder?ref=?"passwordEncoder"?>??????????????????<salt-source?user-property="username"?/>?????????????????</password-encoder>?????????????????????<jdbc-user-service?data-source-ref="dataSource"?/>????????</authentication-provider>????</authentication-manager?>
四、会话超时在web.xml配置:<!-- 设置session 超时时间为20分钟? -->????????<session-config>?????????<session-timeout>?20</?session-timeout>????????</session-config>
五、并发会话控制配置如下:<b:bean?id=?"sas"?class?=????????"org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy"?>?????????<b:constructor-arg?name=?"sessionRegistry"?ref?="sessionRegistry"?/>?????????<b:property?name=?"maximumSessions"?value?="1"?/>?????????<b:property?name=?"exceptionIfMaximumExceeded"?value="true"></?b:property>?????????<b:property?name=?"alwaysCreateSession"?value?="true"></?b:property>????????</b:bean>最大会话数1,超出报错,总是创建新会话
六、跨站脚步攻击编写过滤程序,对参数和header进行字符过滤。配置如下:????<!-- Avoiding XSS -->??<filter?>????<filter-name?>XssFilter?</filter-name>????<filter-class?>sp.common.XssFilter?</filter-class>??</filter?>????<filter-mapping?>????<filter-name?>XssFilter?</filter-name>????<url-pattern?>/*?</url-pattern>?????????????????</filter-mapping?>
七、禁用WebDav等不安全Http方法修改web.xml<web-resource-collection>?????????????<url-pattern>?/*</?url-pattern>?????????????<http-method>?PUT</?http-method>?????????????<http-method>?DELETE</?http-method>?????????????<http-method>?HEAD</?http-method>?????????????<http-method>?OPTIONS</?http-method>?????????????<http-method>?TRACE</?http-method>?????????</web-resource-collection>

热点排行