微信小程序 城市服务接入安全检测
作者: --时间: 2022-09-29
阅读量:
微信小程序城市服务接入安全检测
当企业接入微信的城市服务时,必须确保功能的安全性。以下是常见的安全检查表:
1. 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编码
2. SQL注入
- 最佳方式是使用预编译语句,绑定变量
- 检查数据类型
- 使用安全函数,例如php的mysql_real_escape_string
- 从数据库自身出发,使用最小权限原则,不要使用dba权限
3. 上传漏洞
- 在客户端和服务器端均对用户上传的文件名和文件路径等进行严格的校验,并且一定要在服务端进行检测
- 服务器端最好使用白名单过滤的方法,例如只允许jpg文件上传等操作
- 应尽量避免将上传目标路径放在web目录下,如果必须存放在web目录下,则需要去掉该目录的可执行权限
- 慎用Fckeditor、ewebeditor等第三方上传组件,历史上曾出现过多个漏洞
4. Struts2
Struts2框架曾出现许多高危漏洞,这些漏洞足以威胁一个网站的安全,因此应尽量使用最新版本。
5. 信息泄露
- 线上机器应删掉测试页面,例如test.html、phpinfo.php等文件
- 禁用详细的错误提示
- 禁止显示调试信息
- 禁止将svn相关文件更新到线上机器,例如.svn/entries
6. 登录安全
- 登录页面最好加入验证码功能
- 尽量使用https协议
7. 会话安全
公众号开发中,通常会使用openid作为用户身份标识,使用openid时需要将其设置到cookie中,不要直接拼接到URL中,例如http://www.qq.com/getuser?code=aaaaaa。
8.
上一篇:微信小程序 查询欠费用户列表
下一篇:微信小程序 城市服务消息通路接口

