thinkphp表单js过滤

来源:互联网 发布:bfprt算法 编辑:程序博客网 时间:2024/05/21 18:49

有个表单内容需要填写js代码,以供用户复制,要写入数据库,需要对其进行转义,但是用thinkphp的D方法中的create创建表单,它并没有自动进行js过滤,开启了’VAR_FILTERS’=>’htmlspecialchars’,//对get,post数据进行htmlspecialchars过滤,这样也不行。

后来在手册中发现这样一句话:

create方法如果没有传值,默认取$_POST数据,如果用户提交的变量内容,含有可执行的html代码,请进行手工过滤。

所以,你的表单中有需要填写<script>xxxxxx</script>这样的js代码时,需要手动进行htmlspecialchars过滤。

123456789101112131415
<?phpclass AdsModel extends CommonModel {    // 自动验证设置    protected $_validate = array(         );    // 自动填充设置    protected $_auto = array(    array('ad_code','getCode',1,'callback'), // 对name字段在新增的时候回调getName方法        );     protected function getCode($ad_code){    return htmlspecialchars($ad_code);    }}

在对应的model模型中自动填充字段,使用回调方法,如代码中高亮显示的部分,通过回调方法对数据进行处理。

0 0
原创粉丝点击