84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
keyup表单事件读input框的字符内容。。
疑问:安全性怎么样,change事件可以吗,你们是怎么做的?
修改1:我理解的安全性是指,jq的keyup或者change是怎么读取识别input的字符的,里面的机制是什么样的,既然能被前端读取,你们就意味着可以截获?还是浏览器内部识别的?不解
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
不知道你说的安全性指的是什么,是指通过前端校验用户的输入来保证站点安全的能力吗?
对于服务器端来说,正确的做法是所有前端传入的参数都不应该被信任。或者说,前端对用户输入的校验做的再严格再合理,传入到服务器端时,服务器端都要对传入的数据重新进行校验。或者你可以理解成,前端校验的目的不是为站点安全保驾护航的,其主要目的是为用户服务为了提高用户体验的。
keyup、change、blur等在实际开发过程中都有使用的,具体选用哪个事件进行监听是根据你具体的校验目的决定的。keyup相较于change、blur更具有实时性,可以快速针对用户的输入进行校验或判断。如在注册表单中,设置登录密码,可以通过监听该事件快速实现对密码强度的判断并展示给用户,提醒用户增加密码强度。但是实时性可能并不是最好的,还拿注册表单举例子。在校验用户账户名是否存在时,如果监听keyup,用户刚按下按键就进行判断,则前端页面会在用户输入过程中向服务器发送大量的请求,这会对服务器端造成较大的不必要的压力、同时也会消耗大量的客户端的资源、甚至造成表单校验的不可控。这时监听change或blur事件就显得更为合理。
keyup
change
blur
jq的keyup或者change是怎么读取识别input的字符的,里面的机制是什么样的,既然能被前端读取,你们就意味着可以截获?还是浏览器内部识别的?
这个是JavaScript实现的功能。当然就可以通过js来获取。
基本上,前端用户输入校验都是通过ajax实现的,一般来说分成以下两种
实时检测实时检测一般是由前端js负责,最后输入框失去焦点时通过ajax请求服务端检测。这样既能实时化,也不会对服务端造成压力。实现方式:change+blur事件。
失焦检测当光标从输入框离开时,通过ajax请求服务端检测。服务端压力小,缺点是不能实时检测。实现方式:blur事件。
以上两种方式,只是对于一般用户的提示。安全性永远不会通过客户端来保证,交互开发有一条准则是一定要遵守的:永远不要信任用户的输入。不论是什么样的输入,最后提交到服务端,都要由服务端完成校验。
不知道题主说的安全性是指哪方面?
keyup表单事件读input框的字符内容 这个说的是前端js监听吗?
其实对于前端安全的话,只要把前端看成是完全不安全的,任何非法输入都可能发生,那么整个网站就安全了。
前端只做简单的表单校验,提高用户体验,安全的问题应该在后端开发。
包括最佳答案都没回答楼主问题。密码肉眼看是加密的,实际上就是明文,网络传输也是明文,除非是https协议。前端除了httpS之外对加密无能为力。
不知道你说的安全性指的是什么,是指通过前端校验用户的输入来保证站点安全的能力吗?
对于服务器端来说,正确的做法是所有前端传入的参数都不应该被信任。或者说,前端对用户输入的校验做的再严格再合理,传入到服务器端时,服务器端都要对传入的数据重新进行校验。或者你可以理解成,前端校验的目的不是为站点安全保驾护航的,其主要目的是为用户服务为了提高用户体验的。
keyup
、change
、blur
等在实际开发过程中都有使用的,具体选用哪个事件进行监听是根据你具体的校验目的决定的。keyup
相较于change
、blur
更具有实时性,可以快速针对用户的输入进行校验或判断。如在注册表单中,设置登录密码,可以通过监听该事件快速实现对密码强度的判断并展示给用户,提醒用户增加密码强度。但是实时性可能并不是最好的,还拿注册表单举例子。在校验用户账户名是否存在时,如果监听keyup
,用户刚按下按键就进行判断,则前端页面会在用户输入过程中向服务器发送大量的请求,这会对服务器端造成较大的不必要的压力、同时也会消耗大量的客户端的资源、甚至造成表单校验的不可控。这时监听change
或blur
事件就显得更为合理。这个是JavaScript实现的功能。当然就可以通过js来获取。
基本上,前端用户输入校验都是通过ajax实现的,一般来说分成以下两种
实时检测
实时检测一般是由前端js负责,最后输入框失去焦点时通过ajax请求服务端检测。这样既能实时化,也不会对服务端造成压力。实现方式:
change
+blur
事件。失焦检测
当光标从输入框离开时,通过ajax请求服务端检测。服务端压力小,缺点是不能实时检测。实现方式:
blur
事件。以上两种方式,只是对于一般用户的提示。
安全性永远不会通过客户端来保证,交互开发有一条准则是一定要遵守的:永远不要信任用户的输入。
不论是什么样的输入,最后提交到服务端,都要由服务端完成校验。
不知道题主说的安全性是指哪方面?
其实对于前端安全的话,只要把前端看成是完全不安全的,任何非法输入都可能发生,那么整个网站就安全了。
前端只做简单的表单校验,提高用户体验,安全的问题应该在后端开发。
包括最佳答案都没回答楼主问题。密码肉眼看是加密的,实际上就是明文,网络传输也是明文,除非是https协议。前端除了httpS之外对加密无能为力。