##2016-11-16日更新:在Phalcon 3.0.1中测试发现get方法会过滤单引号和双引号了php
发现phalcon自带的string过滤器$request->get('key', 'string')
不会过滤单引号和双引号,这个很危险,因此在前台模块''fronted''的''di''注入的时候写一个''string''覆盖(注意后端模块不要覆盖string方法,后台须要接收单引号),同理也能够在这里自定义过滤器:
php过滤器:http://php.net/manual/en/filter.filters.sanitize.phphtml
$di->set('filter', function () { $filter = new \Phalcon\Filter(); /* * *重写string过滤器:原string过滤器没有去除单引号, 原string的zep代码:filter_var(value, FILTER_SANITIZE_STRING); * 过滤器文档:http://php.net/manual/en/filter.filters.sanitize.php */ $filter->add( "string", function ($value) { return filter_var($value, FILTER_SANITIZE_FULL_SPECIAL_CHARS); //等同调用了htmlspecialchars() } ); return $filter; }, true);