系统安全措施总结:
1- 修改admin和api入口
2- 所有传入参数都要验证
3- uploads/static目录禁止执行php
4- 使用七牛云存放图片等静态文件
=============================
ThinkPHP官网安全建议
一、输入安全
1- 设置public目录为唯一对外访问目录,不要把资源文件放入应用目录
2- 开启表单令牌验证避免数据的重复提交,能起到CSRF防御作用
3- 使用框架提供的请求变量获取方法(Request类param方法及input助手函数)而不是原生系统变量获取用户输入数据
4- 对不同的应用需求设置default_filter过滤规则(默认没有任何过滤规则),常见的安全过滤函数包括stripslashes、htmlentities、htmlspecialchars和strip_tags等,请根据业务场景选择最合适的过滤方法
5- 使用验证类对业务数据设置必要的验证规则
6- 如果可能开启强制路由或者设置MISS路由规则,严格规范每个URL请求
=============================
二、数据库安全
1- 尽量少使用字符串查询条件,如果不得已的情况下 使用手动参数绑定功能;
2- 不要让用户输入决定要查询或者写入的字段
3- 不要让用户输入决定你的字段排序
4- 对于敏感数据在输出的时候使用hidden方法进行隐藏
5- 对于数据的写入操作应当做好权限检查工作
6- 写入数据严格使用field方法限制写入字段
7- 对于需要输出到页面的数据做好必要的XSS过滤
=============================
三、文件上传
系统的think\File提供了文件上传的安全支持,包括对文件后缀、文件类型、文件大小以及上传图片文件的合法性检查,确保你已经在上传操作中启用了这些合法性检查。
=============================
四、其它建议
1- 不要缓存需要用户认证的页面
2- 对用户的上传文件,做必要的安全检查,例如上传路径和非法格式
3- 对于项目进行充分的测试,不要生成业务逻辑的安全隐患(这可能是最大的安全问题)
4- 最后一点,做好服务器的安全防护