csi*_*csi 9 php pdo sql-injection codeigniter prepared-statement
真正的PHP安全专家,PDO是可行的方式,还是我可以使用Codeigniter的Active Record类?
我已经阅读了http://codeigniter.com/forums/viewthread/179618/并且并非100%确信.
我通常依靠Chris Shiflett和OWASP等专家来获取安全提示. http://shiflett.org/blog/2006/jul/the-owasp-php-top-5
使用自制的PDO DB类代替Codeigniter数据库文件.每次我上传它都是一个相对较小的痛苦复制.我使用PDO的主要原因是为了防止SQL注入与使用Active Record.
编辑: 不是一个人,但我写了一篇关于如何在Codeigniter中集成PDO的事实 .如果有人有反馈,我会很高兴听到.
那么,对于这类问题,我们有一个通用的答案:
(不知道我在哪里得到那个说法,但似乎我只有一个人使用它,但很可能我拼错了)
技术本身没有任何好处或坏处.
一切都取决于使用它的手.
每当我看到SQL注入的蹩脚谈话时,它总是只关注动态数据.
虽然大多数危险来自其他查询部分 - 比如动态标识符.PDO可以做的事情比没有什么可以处理它们.
所以,没有一定的答案.
只要您了解自己在做什么,就可以使用自己喜欢的任何技术.
相反,如果您不了解它是如何工作的,但只是相信某些技术可以帮助您保护您的应用,那么您已经遇到了麻烦.
而已.
根据您引用的页面,Active Record类使用mysql_函数进行字符串转义.这意味着它仍然在PHP-land中构建SQL字符串,而不是在数据库中使用参数化API.虽然它现在可能没有已知缺陷,但使用遵循更安全设计的API仍然是一个更好的主意.
| 归档时间: |
|
| 查看次数: |
5926 次 |
| 最近记录: |