-----------------------------------说正事--------------------------------------
我正在做一个项目,想对用户输入的任何数据都用 htmlspecialchars 进行过滤
官方文档说可以用下面这个:
'VAR_FILTERS'=>'htmlspecialchars'
BUT,如果你试了,就知道,貌似没用(当然,可能是我错,望各位告知)
当然,可以用自动完成,在里面设置自动过滤
BUT,每一个都要写,感觉好麻烦。。。
SO,我想到了去修改MODEL底层
GO,找到底层文件 ThinkPHP\Lib\Core\Model.class.php
GO ON,找到278行代码如下
--------------------------------------------------------------------------------
// 安全过滤
if(!empty($this->options['filter'])) {
$data = array_map($this->options['filter'],$data);
unset($this->options['filter']);
}
--------------------------------------------------------------------------------
GO ON,在此代码后面加下代码
--------------------------------------------------------------------------------
$data = array_map("htmlspecialchars",$data);
//上一句是我自己添加的
--------------------------------------------------------------------------------
说明,这里你可以用任何函数(当然,必须得有)
保存,完毕。
PS:如果您觉得我这方法帮助到您了,麻烦留个言,让我感受下分享的快乐。。
最佳答案