js验证表单是否安全

JavaScript084

js验证表单是否安全,第1张

JS验证安全不安全

单纯的说这个问题的话,答案是不安全。因为在客户端进行的验证相当于“让用户自己验证自己”,很明显是不靠谱的。你不能避免一些恶意用户人为的修改自己的表单进行欺骗,也不能避免第三方对表单进行截获后进行篡改再提交。

所以说,从安全的角度来说,单纯的依靠js验证,是不安全的,任何健壮的系统都必须在后端进行验证。

但是要说JS验证有没有必要

是非常有必要的,因为首先JS验证速度很快,不需要HTTP交互,可以在本地验证,对于用户来说,提示错误会显得非常迅速。其次是普通用户一般占访问用户的绝大多数,也就是说,大部分的验证工作,都是有效的,在前端验证可以极大的减轻服务器的压力。

所以结论是,不能单单的依靠JS进行表单验证,后端必须也要验证。但是JS验证可以减轻压力、提高用户体验,所以也是必须的

我来举个例子,很简单的

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

function formCheck(){//表单验证

var userForm=document.forms.userForm

if(userForm.username.value==null||userForm.username.value.length<=0){

alert("用户名不能为空")

return false

}else if(userForm.username.value.length<6||userForm.username.value.length>20){

alert("用户名必须为6-20位")

return false

}else if(userForm.password.value==null||userForm.password.value.length<=0){

alert("密码不能为空")

return false

}else if(userForm.password.value.length<6||userForm.password.value.length>20){

alert("密码必须为6-20位")

return false

}else{

userForm.submit()

}

}

</script>

</head>

<body>

<form action="" name="userForm">

userName:<input type="text" name="username"><br>

password:<input type="password" name="password"><br>

<input type="button" value="提交" onclick=" formCheck()">

</form>

</body>

</html>