通过Zend_Controller_Route或覆盖Zend_Controller_Request_ *类来清理表单数据

时间:2013-04-22 21:42:32

标签: zend-framework filtering sanitization zend-route zend-router

我对Zend框架非常不满意,所以我现在可能有一些明显的问题。

我们的网络应用程序的部分要求是阻止任何形式的输入,其中包含一堆恶意数据,如标签{我知道这不一定是恶意的,但这不是我的决定}。因此,我目前正在执行的策略是extending the zend_controller_request_http class,我会覆盖getParams() and getParam() methods,以确保检查是否存在列入黑名单的代码。

它工作正常,但我相信确保特定路径中的变量满足其要求的方法是通过Zend_Controller_Route定义Zend_Controller_Route variable requriements

所以我正在尝试使用Zend_Controller_Router_Route_Regex类的替代方法。在我的BaseController.php file (All other controllers extend BaseController.php)中,这就是我所做的:

  $route = new Zend_Controller_Router_Route_Regex(
                      "/<script\b[^>]*>([\s\S]*?)<\/script>/m",
                        array(
                        "controller" => "user",
                        "action" => "usersettings"
                        )
                );
                $router->addRoute('whatever',$route); //notice the whatever, coz I am not quite sure what should be going out here.

在我的用户设置操作中,我输入一个随机警报(“无论什么”);在表单输入字段中并保存它。就我而言,请求对象应该附加正则表达式过滤器,并且根本不应该保存这个表单,但是,它确实保存了表单。

显然,我在这里遗漏了一些东西,或者说完全错了。有什么指针吗?

0 个答案:

没有答案