@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

ZF的quoteInto引起MD5错误

Posted by zeal on 2007-11-25 09:24 , 356 characters |  + 0 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/547 MaDe1nZEAL
标签 ( PHP ):  ,  ,  , 

在 Zend Framework 中, Db_Adapter 提供 quoteInto 方法用于查询变量嵌入的统一处理。但在该方法最终调用的底层方法 _quote 中,会用 is_numeric 先判断变量是否是数字,如果是的话就直接返回了,只有非数字型的内容才会被进行转义并加引号。

这样的处理带来的问题是,当你使用数据库自带的 MD5 函数对字符串(比如用户密码)进行 md5 加密时,如果恰好字符串是纯数字,又恰好是0打头的数字,比如“07902”,这时候 MD5(07902)MD5('07902') 返回的结果是不一样的,从而造成潜在的数据错误。

一般我都习惯于给所有的变量都加上引号,不知道 zf 是基于什么考虑对数字型变量进行单独处理。。

没有评论.
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号