应不信任、不依赖客户端的安全控制措施,无论客户端采取何种措施,服务器侧都
必须对用户提交的数据进行合法性检测
通用
SQL 语句应使用预编译和绑定变量的机制以实现 SQL 指令和参数的分离,不要拼接
SQL 语句,如有必须拼接的场景,应对每个参数进行合法性验证,包括整型验证、
单引号的数据库转义(将单引号转换为两个单引号)等
通用
对需要输出到用户浏览器的任何由用户创造的内容,应在输出到浏览器之前或持久
化存储之前进行转义(至少对<>转义为< >)以防止跨站攻击脚本(XSS)
通用
针对交易或特权操作,应防止跨站请求伪造,应在框架层面为每个 Form 启用隐藏属
性的 CSRF Token,或者使用图片 CAPTCHA 由用户手工输入,或者使用支付口令等
措施,修改密码须输入原密码,以防止跨站请求伪造(CSRF)
通用
应限定用户上传的附件类型,并对用户提交的图片/资源进行二次渲染(或添加水印/格
式转换等)以破坏其原有结构,防止引入有害文件(网页木马等)
通用
不使用路径或文件名作参数以防止目录遍历,不接受/不信任/不展示未经验证的外部
图片或资源
通用
3 / 13