本文整理自网络,侵删。
safety-specifications
接入微信城市服务,业务方需确保功能安全性。
常见安全检查表
XSS
- 输入校验:长度限制、值类型是否正确、是否包含特殊字符(如<>’”等)
- 输出编码:根据输出的位置进行相应的编码,如HTML编码、JavaScript编码、URL编码。
- 输出到HTML标签之间时,对这些数据进行HTML Entity编码
- 输出到HTML属性里时,特殊字符编码为&#xHH
- 输出到SCRIPT里时,对这些数据进行SCRIPT编码,除了阿拉伯数字和字母,对其他所有的字符进行编码,只要该字符的ASCII码小于256。编码后输出的格式为\xHH
- 输出到Style属性里时,对这些数据进行CSS编码,除了阿拉伯数字和字母,对其他所有的字符进行编码,只要该字符的ASCII码小于256。编码后输出的格式为\HH
- 输出到HTML URL里时,对这些数据进行URL编码,当需要往HTML页面中的URL里插入不可信数据的时候,需要对其进行URL编码
SQL注入
- 最佳方式就是使用预编译语句,绑定变量
- 检查数据类型
- 使用安全函数,例如php的mysql_real_escape_string
- 从数据库自身来说,应使用最小权限原则,切记不要使用dba权限
上传漏洞
- 在客户端和服务器端对用户上传的文件名和文件路径等项目分别进行严格的检查,尤其是服务端检测不能少
- 服务器端的检查最好使用白名单过滤的方法,比如只允许jpg文件上传等
- 上传目标路径尽量不在web目录下,如果在web目录下去掉该目录的可执行权限
- 慎用Fckeditor、ewebeditor等第三方上传组件,历史上曾出现多个漏洞
Struts2
相关阅读 >>
微信小程序apisettextalign(用于设置文字的对齐)
微信小程序使用moveto把路径移动到画布中的指定点,不创建线条
更多相关阅读请进入《微信小程序》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者