84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
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之外对加密无能为力。