CakePHP - the rapid development php framework

中文手册 Version1.0 Collected by Clove

回到目录

数据清理

Section 1 在应用中使用Sanitize

Cake为我们提供了Sanitize,这个类可以用来去除用户提交的数据中带有的恶意攻击性数据和其它一些不必要的数据。Sanitize是一个核心类库,所以它可以被我们用在代码中的任何一部分,但是最好用在controllers或者models中

Section 2 保证在SQL和HTML中数据的安全性

这一小节将说明怎么样使用Sanitize提供的一些函数

当$string这个字符串不是纯粹由文字数字式字符组成时,函数能去除对象中任何不需要的字符。当然你仍然可以忽略那些在$allowed数组中的字符,以便让它们通过。

这个方法能帮助你获得准备在一个存在的html布局中显示的数据。如果你不想用户能破坏你的布局或插入图片或blog日志中的编写脚本、在论坛中发帖等等这些行为,那么这个函数对你特别有用。如果$remove选项被设置为true,那么任何html元素将被去除,这将比作为一个html实体提交要好得多。

使用该方法可以省去你在sql语句中添加'\'来输入特殊字符,这取决于系统当前对magic_quotes_gpc的设定

这个函数是一个有着高强度和多功能的清洁器,意思是说它能被用在整个数组上(比如说$this->params['form'])。这个函数取得一个数组并清理它:没有返回值是因为$dirtyArray是传递的对象引用。接下来的清理操作将在这个数组的每一个元素上进行(以递归的形式):