虽然ThinkPHP的底层安全防护比之前版本要强大不少,但永远不要相信用户提交的数据,建议务必遵守下面规则:
public
目录为唯一对外访问目录,不要把资源文件放入应用目录;
CSRF
防御作用;
param
方法及input
助手函数)而不是原生系统变量获取用户输入数据;
default_filter
过滤规则(默认没有任何过滤规则),常见的安全过滤函数包括stripslashes
、htmlentities
、htmlspecialchars
和strip_tags
等,请根据业务场景选择最合适的过滤方法;
在确保用户请求的数据安全之后,数据库的安全隐患就已经很少了,因为数据操作默认使用了PDO预处理机制及自动参数绑定功能,请确保:
hidden
方法进行隐藏;
field
方法限制写入字段;
XSS
过滤;
如果你使用的是
V5.1.10
以下版本,建议尽快更新到该版本(或者以上版本)
网站的上传功能也是一个非常容易被攻击的入口,所以对上传功能的安全检查是尤其必要的。
系统的think\File
提供了文件上传的安全支持,包括对文件后缀、文件类型、文件大小以及上传图片文件的合法性检查,确保你已经在上传操作中启用了这些合法性检查。
最后一点,及时关注官方安全更新,并更新到官方建议的安全版本,建议更新
V5.1.10+
版本,该版本包含安全更新。