考虑安全方面,PHP框架提供了哪些优势?

3

有许多PHP框架可供选择,其中包括:

  • Zend

  • CakePHP

  • CodeIgniter

  • Symfony等等……

这些框架大多数都会处理哪些与安全相关的问题?

(据我所知,如果使用它们的方法,大多数框架都能处理跨站脚本(XSS)漏洞。它们还处理哪些其他问题?)

除了在项目中使用框架之外,还需要注意哪些安全问题?

编辑:在我的情况下,我正在使用CodeIgniter框架。

3个回答

1

[垃圾邮件]
我之前创建了一个小的概述表格:http://matrix.include-once.org/framework/,其中包括有关Web应用程序安全基本要素的几个摘要:

  • DB转义/或参数化SQL(例如通过ORMs)
  • 输入过滤/净化
  • 输出编码
  • 授权哈希函数(如果有)
  • 前端和管理后端的分离(未完成,大多数情况下不适用)

如果我想概括一下,大型框架确实涵盖了很多内容。因此,真正的问题变成了业务/处理层面上的逻辑疏漏。


0

这是一个有点模糊的问题,完全取决于你所谈论的框架。

你列出的所有框架都使用某种形式的数据库抽象层,无论是简单的查询构建器还是更大的ActiveRecord/ORM实现。这些数据库抽象层将在大多数情况下防止SQL注入。

CodeIgniter提供了一个加密类,可以帮助你生成密码和随机字符串。在你的主配置文件中有一个“加密密钥”,它将特定于你的应用程序。这意味着你的应用程序将与另一个应用程序具有唯一的盐值,因此如果有人获得了你的数据库副本或访问权限,他们将无法解密密码。

每个框架都有很多其他特定的安全功能,但这些是基础知识。


0
无论一个PHP框架的安全性得到了多少关注和思考,现实情况是总有改进的空间。尽管像Codeigniter这样的框架提供了XSS、输入过滤、请求验证、数据库抽象和其他好东西,但总会存在漏洞和问题。
永远不要仅仅依赖于框架内置的安全保护方法。始终要深入了解框架的工作原理,如果发现某些地方不够安全,就要重新编写以满足自己的需求。
然而,尽管如此,我已经使用Codeigniter几个月了,在一些高端、高流量的网站上,没有遇到任何安全问题或漏洞。当涉及到安全问题时,框架的真正优势在于它们可能会保护你免受你从未意识到的某种攻击(这是一个很棒的额外好处)。
深入研究Codeigniter和其他框架如何解决安全问题并保护你的应用程序,你会发现这将增强你的开发知识,并在你编写需要强大安全性和高可靠性的大型应用程序时受益。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接