针对CSRF跨站请求伪造,JFinal-layui主要是对添加、修改的业务表单加入token验证机制,这样就可以解决重要业务操作的安全性。我们的拦截是全局验证拦截,在开发功能过程中就是顺手做的事情,简单高效。
1、因为在后端统一对save()、update()进行了token认证拦截,所以在开发添加、修改功能过程中,记得在表单中输出token:#(token)
2、如果是其他的方法需要用到token认证,那么就在方法上面调用@Before(TokenValidator.class),如修改密码表单的token认证实现如下:/**
* 在页面方法创建token
*/
public void myPassword(){
createToken();
setAttr("userCode",getVisitor().getCode());
render("my/password.html");
}
/**
* 修改个人密码(验证token)
*/
@Before(TokenValidator.class)
public void updateMypassword(){
Visitor vs=getVisitor();
if(!vs.getCode().equals(getPara("userCode"))){
getResponse().setStatus(403);
renderError(403);
}
String oldPas