「java前端数据验证」java数据校验框架

博主:adminadmin 2023-01-24 05:33:08 341

今天给各位分享java前端数据验证的知识,其中也会对java数据校验框架进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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前端数据验证的信息别忘了在本站进行查找喔。