该补丁修正框架中一处可能导致SQL注入的地方,在开发者没有合理使用I函数进行过滤的情况下可能导致SQL注入,请及时更新。
20141219更新:改进数据库过滤机制
20141213更新:添加全局安全过滤机制
推荐使用I函数进行请求变量获取,如果没有使用I函数的话,需要在项目或者模块中配置开启REQUEST_VARS_FILTER参数,如下所示:
'REQUEST_VARS_FILTER'=>true
复制代码
影响到的版本涵盖TP2.1以上版本,请对应相关版本及时更新核心框架。
更新方法:
根据你的版本下载带安全补丁的版本(更新functions.php、Db.class.php和App.class.php三个文件即可),如果你修改了核心框架,或者使用了更旧的版本,可以参考Github相应版本(对应Github不同的分支)的更新记录进行手动更新。
如果你使用的是最新的3.2.3版本,无需单独更新漏洞补丁。
模型中添加如下代码,可实现更新或插入前删除缓存:protected static function init()
{
TurnGiftSetting::beforeInsert(function ($model) {
$redis = new Redis(config('redis'))
$redis->rm(self::$redisKey)
})
TurnGiftSetting::beforeUpdate(function ($model) {
$redis = new Redis(config('redis'))
$redis->rm(self::$redisKey)
})
TurnGiftSetting::beforeDelete(function ($model) {
$redis = new Redis(config('redis'))
$redis->rm(self::$redisKey)
})
TurnGiftSetting::beforeWrite(function ($model) {
$redis = new Redis(config('redis'))
$redis->rm(self::$redisKey)
})
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)