对于一个输入框要做哪些安全性检测(腾讯一面题目)
2016-04-12 00:00
218 查看
摘要: 前后端双向验证:前端验证注重体验,后端验证注重安全!
一、前端事件验证
推荐使用focus事件、blur事件、keyup延时事件(不必每次keyup都做,也不必keyup后立刻做)、表单提交前check事件这4个验证事件。
Focus事件:输入触发focus事件,提示用户正确的输入;
Blur事件:单个输入完成后触发blur事件,验证用户输入的合法性,非法则提示,并引导用户修改;
keyup 延时事件:keyup 后不马上执行,延时执行,可以即时验证输入的合法性,非法则提示,并引导用户修改;(keyup 指键盘按下的那一刻)
表单提交前check事件:提交前对每个输入再次验证,正确的给出标识(绿色√),错误的也给出标识(红色×),切勿使用alert,用户体验性差;当页面有错误时可以设置 submit 按钮 disable ,不可点击;
(注意:某些情况下,除了前端的判断外,还需要用AJAX异步判断数据库中是否已经存在)
二、后端安全性验证
表单传输到服务器之后,在后端一定要再次验证一遍,以防非法输入(如 sql 注入)。有任何错误就跳转回表单页,并把错误信息返回去。
(注意:sql 注入就是让应用运行本不应该运行的SQL代码,sql 注入具体解析看这:http://blog.jobbole.com/83092/)
一、前端事件验证
推荐使用focus事件、blur事件、keyup延时事件(不必每次keyup都做,也不必keyup后立刻做)、表单提交前check事件这4个验证事件。
Focus事件:输入触发focus事件,提示用户正确的输入;
Blur事件:单个输入完成后触发blur事件,验证用户输入的合法性,非法则提示,并引导用户修改;
keyup 延时事件:keyup 后不马上执行,延时执行,可以即时验证输入的合法性,非法则提示,并引导用户修改;(keyup 指键盘按下的那一刻)
表单提交前check事件:提交前对每个输入再次验证,正确的给出标识(绿色√),错误的也给出标识(红色×),切勿使用alert,用户体验性差;当页面有错误时可以设置 submit 按钮 disable ,不可点击;
(注意:某些情况下,除了前端的判断外,还需要用AJAX异步判断数据库中是否已经存在)
二、后端安全性验证
表单传输到服务器之后,在后端一定要再次验证一遍,以防非法输入(如 sql 注入)。有任何错误就跳转回表单页,并把错误信息返回去。
(注意:sql 注入就是让应用运行本不应该运行的SQL代码,sql 注入具体解析看这:http://blog.jobbole.com/83092/)
相关文章推荐
- myisam和innodb的区别
- 小Ai成功预测我是歌手依靠的是什么
- Navicat Cloud云服务如何使用
- 如何查看Navicat 查询结果
- Navicat查询功能怎么用
- 如何设置Navicat 筛选向导
- BAT命令学习记录
- MindMapper该如何生成Web URL
- C 数据结构与算法系列 插入排序
- 文件完整性校验——MD5校验
- tried to access method org.apache.poi.util.POILogg
- finatra使用mustache模板,本地文件配置
- finatra使用mustache模板继承功能.
- 厦门巨游网络科技有限公司(HOTPOWER)承接游戏UI外包
- GIT-还原远程master
- 给身份证加*号的正则表达式
- 蜂窝教育Java培训 让学员提前体会到工作氛围
- java基础
- java设计模式——适配器模式
- memcache 查询key