当前位置:嗨网首页>书籍在线阅读

04-验证

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.1.2 验证

验证是质量控制过程,确保只有正确和合理的数据才能被保存。验证有助于防止保存错误数据,防止错误数据传播给其他用户或者系统。比如,当用户挑选航班日期购买机票的时候,航空公司会进行验证,用户选择的是在未来有座位的日期。没有这一验证的话,航空公司的航班预订就会超额、预订了不存在的航班、或者是预订了已经起飞的航班。

客户端和服务端都进行验证是很重要的:客户端验证是为了快速响应,服务端验证是因为永远不能相信来自客户端的代码是有效的。各种各样的问题会导致服务器接收无效的数据。

编程错误会破坏或者遗漏单页应用的客户端验证。

个别客户端可能会缺少验证,有Web服务器的应用经常有多个客户端访问同台服务器。

曾经有效的选项在提交数据的时候可能会失效(比方说,用户刚刚点击提交按钮时,座位被其他人预订了)。

恶意的黑客又会露面并尝试劫持或者破坏网站,用脏数据填满数据存储。

不正确的服务端验证的经典案例是 SQL 注入攻击,这曾使很多著名的组织机构陷入窘境,实际上它们早该明白的。我们不想和它们一样,是吧?