「java前端数据验证」java数据校验框架
今天给各位分享java前端数据验证的知识,其中也会对java数据校验框架进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java web 验证码生成后一般在什么地方保存这个验证码?存到数据库还是怎么地?
- 2、java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?
- 3、java中,数据验证,如何判断文本框中输入的值是否为日期类型?
- 4、java 登陆时的验证码怎么做?
- 5、一般java web开发中,前端用JS验证非空,后端还需要在验证非空吗?
- 6、在java web中对输入数据进行校验的方式有多少种?分别都是什么
java web 验证码生成后一般在什么地方保存这个验证码?存到数据库还是怎么地?
说起验证码,关系它的是安全性,再联系到你的时效性,这就非session(本身是客户端的唯一使用服务器资源的凭证,而且是有时效限制的,用户长期未访问服务器,这个session是就会被主动注销掉)不能当此大任了,可用性不在话下,至于你说的加密这是画蛇添足了。
依楼上所言,未免误人,服务器端是必须保存这个验证码的,就像我给你了一个验证码,你可以使用,我自己也得备份一下和你比对,不然那不就变成了:你说你的验证码是对的,你已经验证过了,我就信任你了,那就等于没有密码,客户端的一切安全认证都是不足为信的!
java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?
一个简单的方法是,在用户获取html页面的时候,后台生成一个(MD5)字串(假设为k),并且返回给前端。
提交表单的时候,顺带也把这个k一起提交。
在处理提交的地方(后台),去校验这个k,看看是不是自己生成的。
如果用户伪造http请求,那么自然是不带k的,或者k是错误的。
还可以判断http请求头,比如UserAgent之类的,用于 辅 助 判断请求的合法性。
java中,数据验证,如何判断文本框中输入的值是否为日期类型?
百度搜索日期型正则表达式,然后通过匹配,看你输入的内容是不是是匹配,就知道是不是日期类型了!
java 登陆时的验证码怎么做?
后台写一个生成图片随机的代码,生成图片给前台。切换图片的时候,使用ajax获取图片数据就行。
附上生成图片的代码
public class ValidateCode {
private int width=180;
private int height=60;
private int codeCount = 4;
private int x = 0;
private int codeY;
private String Code;
private BufferedImage buffImg;
static char[] codeSequence = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
private int fontHeight;
public ValidateCode() {
x = width / (codeCount + 2);
fontHeight = height - 2;
codeY = height - 4;
CreateCode();
}
public void CreateCode(){
// 定义图像buffer
BufferedImage buffImg = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
// 创建一个随机数生成器类
Random random = new Random();
// 将图像填充为白色
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
// 创建字体,字体的大小应该根据图片的高度来定。
Font font = new Font("Fixedsys", Font.PLAIN, fontHeight);
// 设置字体。
g.setFont(font);
// 画边框。
g.setColor(Color.BLACK);
g.drawRect(0, 0, width - 1, height - 1);
// randomCode用于保存随机产生的验证码,以便用户登录后进行验证。
StringBuffer randomCode = new StringBuffer();
int red = 0, green = 0, blue = 0;
// 随机产生codeCount数字的验证码。
for (int i = 0; i codeCount; i++) {
// 得到随机产生的验证码数字。
String strRand = String.valueOf(codeSequence[random.nextInt(62)]);
// 产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同。
red = random.nextInt(255);
green = random.nextInt(255);
blue = random.nextInt(255);
// 用随机产生的颜色将验证码绘制到图像中。
g.setColor(new Color(red, green, blue));
g.drawString(strRand, (i ) * x+20, codeY);
// 将产生的四个随机数组合在一起。
randomCode.append(strRand);
}
this.Code=randomCode.toString().toUpperCase();
this.buffImg=buffImg;
}
public String getCode() {
return Code;
}
public void setCode(String code) {
Code = code;
}
public BufferedImage getBuffImg() {
return buffImg;
}
public void setBuffImg(BufferedImage buffImg) {
this.buffImg = buffImg;
}
}
一般java web开发中,前端用JS验证非空,后端还需要在验证非空吗?
当然需要,因为前端的JS验证代码如果在用户端浏览器被禁用了,那么就不会执行该js代码进行验证,也就相当于没有做非空验证,如果这时候将数据直接在服务器端使用,那么情况可想而知;一句话,永远不要轻易相信客户提供给你的数据;当初我们的培训导师说过,你只要把使用你软件的客户当做傻瓜,思考的问题自然多于常人。
在java web中对输入数据进行校验的方式有多少种?分别都是什么
要用JavaScript,使用下面的标记:
script language="javascript"
//JavaScript代码
/script
要写方法
function check(){
}
方法可以不用定义返回值,但是可以有返回值
获取用户输入的值:
document.form1.username.value
document表示当前文档,form1表示表单的名字,username表示该表单中表单元素的名字,value表示得到值
把表单提交与方法关联:可以使用表单的onSubmit事件。
onSubmit="return check();"
例:
script language="javascript"
function check(){
username = document.form1.username.value;
if(username.length6 || username.length8){
alert("用户名长度不合适!");
return false;
}else{
return true;
}
}
/script
使用button的onClick事件进行验证:
首先要把提交按钮修改成普通按钮;
在普通按钮上增加事件:onClick="javascript:check()"
在验证成功的时候,提交表单:document.form1.submit();
java前端数据验证的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数据校验框架、java前端数据验证的信息别忘了在本站进行查找喔。