企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
虽然5.0的底层安全防护比之前版本要强大不少,但永远不要相信用户提交的数据,建议务必遵守下面规则: * 设置`public`目录为唯一对外访问目录,不要把资源文件放入应用目录; * 开启[表单令牌验证](https://www.kancloud.cn/manual/thinkphp5/193918)避免数据的重复提交,能起到`CSRF`防御作用; * 使用框架提供的请求变量获取方法(Request类`param`方法及`input`助手函数)而不是原生系统变量获取用户输入数据; * 对不同的应用需求设置`default_filter`过滤规则(**默认没有任何过滤规则**),常见的安全过滤函数包括`stripslashes`、`htmlentities`、`htmlspecialchars`和`strip_tags`等,请根据业务场景选择最合适的过滤方法; * 使用[验证类或者验证方法](https://www.kancloud.cn/manual/thinkphp5/129320)对业务数据设置必要的验证规则; * 如果可能开启强制路由或者设置MISS路由规则,严格规范每个URL请求; * 表单合法性检测 ## **表单合法性检测** 在处理表单提交的数据的时候,建议尽量采用Think\\Model类提供的**create**方法首先进行数据创建,然后再写入数据库 ~~~ //创建数据时只保留nickname'和email,其他都将被丢弃 model('User')->field('nickname,email')->create(); model('User')->field(array('nickname,email'))->create(); ~~~