thinkphp 全局过滤 修改底层方法

浏览:4490 发布日期:2013/09/28 分类:技术分享
好吧,楼主先要说一句:我刚才写了一大段,没保存。。。然后,然后就木有了。。。。

-----------------------------------说正事--------------------------------------

我正在做一个项目,想对用户输入的任何数据都用 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:如果您觉得我这方法帮助到您了,麻烦留个言,让我感受下分享的快乐。。
最佳答案
评论( 相关
后面还有条评论,点击查看>>