字体:  

PDO能防止CC攻击,第一次听说,能防止SQL注入

flyfly99 发表于: 2008-8-08 09:01 来源: PHPChina 开源社区门户

http://www.phpchina.com/bbs/thread-67661-2-1.html

PDO并没有那么神,你把他看成和mysql_*一样的东西就行了,只不过操作方式不一样,更方便使用而已,很多人搞的用pdo就多先进一样,其实用什么都一样。如果PDO你需要封装来用,PDO能实现的mysql_*封装之后也能实现。只不过PDO内置提供了更多的功能而已。

最新回复

CrossMaya at 2008-8-08 09:11:15
。。。无奈!!

调查者估计概念就不清楚!
fhjr999 at 2008-8-08 09:17:04
PDO可生成安全的SQL语句
flyfly99 at 2008-8-08 09:20:52

QUOTE:

原帖由 fhjr999 于 2008-8-8 09:17 发表
PDO可生成安全的SQL语句
mysql_*封装的adodb就不能生成安全的语句?
CrossMaya at 2008-8-08 09:23:33
在自问自答么
七月十五 at 2008-8-08 09:25:52
PDO是一个PECL扩展,内核是C语言实现的
子曰 at 2008-8-08 09:37:30
pdo方便啊
fhjr999 at 2008-8-08 09:38:48

QUOTE:

原帖由 flyfly99 于 2008-8-8 09:20 发表


mysql_*封装的adodb就不能生成安全的语句?
要都照你这么想,那世界上就没有什么不同的了。
不管怎么说,PDO是未来的潮流,不管你想不想,你都得接受。
TankMe at 2008-8-08 09:50:06
PDO就象JDBC.是先把SQL语预编译的.
如果非法就会自动过滤
flash866 at 2008-8-08 10:11:14
记得以前看到过在大访问量情况下,PDO比起函数更加稳定。
40years at 2008-8-08 10:15:36
PDO也方便移植
飞翔de希望 at 2008-8-08 23:31:42
我不知道LZ你说这话之前有没有测试过,如果没有测试过,请不要这么不负责任。

我曾做过这样一个测试,用压力测试工具对我的程序进行测试,用mysql_connect连接,没几秒就报MYSQL 2002错误了,而且PDO,则会很慢,但怎么也不会报错。而且,服务器的开销,减少了3/4
flyfly99 at 2008-8-09 09:23:43

QUOTE:

原帖由 飞翔de希望 于 2008-8-8 23:31 发表
我不知道LZ你说这话之前有没有测试过,如果没有测试过,请不要这么不负责任。

我曾做过这样一个测试,用压力测试工具对我的程序进行测试,用mysql_connect连接,没几秒就报MYSQL 2002错误了,而且PDO,则会很慢, ...
那是你自己问题。

[ 本帖最后由 flyfly99 于 2008-8-9 09:24 编辑 ]
fhjr999 at 2008-8-09 10:04:33
PDO性能虽然比不上mysql_函数,但是稳定性却要好的多,特别是在大负载的情况下。
飞翔de希望 at 2008-8-09 19:16:45
如果你没亲自做过测试,就不要这么不责任的说。。

对于CC攻击来说,如果没作防护措施,用mysql_connect连接数据库,攻一个查数据库的页,2分种100%会报mysql 2002错误,PDO永远不会报错
飞翔de希望 at 2008-8-09 19:20:32
严格的说,PDO对CC攻击是防不了的,但是至少比mysql_connect强,虽然攻击时很慢,至少不会挂。mysql_connect必挂无疑。

    当年我们公司选择PDO放弃mysql_connect时,原因就是:PDO在高访问量的情况下,服务器开销依然很小。对于CC攻击,PDO能缓解很大,至少不会挂掉。当时我们做好很多测试。

    LZ希望你做好测试之后,再来发这篇文章,不要在这里迷惑一些初学者。
34174988 at 2008-8-10 13:56:13
PDC只是没有从根本上解决问题
flyfly99 at 2008-8-10 14:34:22
PDO防止CC是最大的笑话,PDO可能在性能上比mysql_*会强些,但是强不了那么多的。mysql2002不是mysql_*的问题。高负载的时候mysql_*服务器开销也非常非常小。

不知道你们当时是怎么测试的,但我可以说你们的测试肯定有问题。mysql2002你数据库连接不释放,什么都一样。
飞翔de希望 at 2008-8-10 19:21:43
还是那句话,没有进行测试,不要迷惑初学者。

像DISCUZ这样的论坛,一台双核,2G内存,LINUX的服务器,用CC攻击轻易搞挂。而且PDO写的程序,怎么攻都不会挂。你可以去下载一个CC攻击器,找一大堆代理,自己整一台服务器测试。

自己简单的写一个PHP页面,里面只有一条简单的SELECT语句就OK。

不用要学校里那种没有实际测试根据的语气来迷惑初学者。
hobbs136 at 2008-8-11 14:31:54
我现在在入库前不做任何安全校验(当然要进行业务校验),pdo的预绑定技术提高了curd的速度,并且在入库前对所有字符进行了一些安全处理。pdo用了两年了,感觉除了偶尔出现connection has gone之类的错误,其他也没什么,而且还在拖着那设计非常差劲的表在跑,也没见过down,偶尔只是出现非常慢。

这种东西不要讨论在用与不用和到底谁更好,拿出来实际的测试数据,或者是对各种数据库api代码比较比较看看哪个代码写得更优秀一些。
ilsanbao at 2008-8-12 09:37:47
mysqli 也有SQL预处理的啊!不过拿官方的话说PHP5以后应该优先选择PDO