我们当时是根据sessionId生成的一个token值,放入表单中。 生成方法如下: ----------------------------------------
private static SecureRandom secureRandom=null;
public static String createToken() {
if(secureRandom==null){
String entoropy="LogonSessionEntoropy" + System.currentTimeMillis();
try {
secureRandom = SecureRandom.getInstance("SHA1PRNG");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
secureRandom.setSeed(entoropy.getBytes());
}
byte bytes[]=new byte[16];
secureRandom.nextBytes(bytes);
byte[] base64Bytes = Base64.encode(bytes);
return new String(base64Bytes);
}
将生成的随机值放入session中, 然后每次来请求的,都判断发送的这个随机值是否与session中保存的一致就行了。