首页 > 解决方案 > 如何替换 cakephp 3 中的 sanitize 类?

问题描述

目前,我正在将 cakephp 从 2.10 升级到 3.8,我注意到 Sanitize 类已被删除。有谁知道如何更换它?

我有以下功能:

public function view( $page )
{
        $page = Sanitize::paranoid( $page, array('-', '_') );
        $this->render( $page );
}

标签: cakephpmigrationcakephp-2.xcakephp-3.8

解决方案


真的取决于您的威胁模型,即取决于您要防御的具体内容。

Sanitize:paranoid()删除非字母数字字符,$allowed参数中的字符除外,因此如果您想以 1:1 替换行为,例如可以使用正则表达式:

$page = preg_replace('/[^\w\-]/', '', $page);

推荐阅读