【问题标题】:What advantages do PHP frameworks provide considering security perspective?考虑到安全性,PHP 框架提供了哪些优势?
【发布时间】:2011-05-30 12:02:23
【问题描述】:

有许多 PHP 框架可用于 PHP,即 -

  • Zend

  • CakePHP

  • CodeIgniter

  • Symfony

    等等……

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

(据我所知,如果我们使用那里的方法,他们中的大多数人都会处理(跨站点脚本(XSS))漏洞。他们中的大多数人关注的其他问题是什么?)

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

编辑:就我而言,我使用的是 codeigniter 框架。

【问题讨论】:

    标签: security codeigniter frameworks php


    【解决方案1】:

    [垃圾邮件]
    不久前,我创建了一个小概览表:http://matrix.include-once.org/framework/,其中包括一些关于 Web 应用程序安全性基本基石的摘要:

    • 数据库转义/或参数化 SQL(例如通过 ORM)
    • 输入过滤/清理
    • 输出编码
    • 授权哈希函数(如果有)
    • 前端和后台管理分离(未完成,大部分不适用)

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

    【讨论】:

      【解决方案2】:

      这是一个有点模糊的问题,因为它完全取决于你在谈论什么框架。

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

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

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

      【讨论】:

        【解决方案3】:

        无论在确保 PHP 框架的安全性上投入了多少注意力和思考,现实情况是总有改进的余地,即使像 Codeigniter 这样的框架提供 XSS、输入过滤、请求验证、数据库抽象等好东西,总会有错误和问题。

        永远不要仅仅依赖框架的内置安全保护方法。始终阅读框架如何做某事,了解逻辑,然后在发现某些内容不如应有的安全性时重写以满足您的需求。

        但是,如上所述,我已经使用 Codeigniter 几个月了,并且在几个高端、高流量的网站上使用过,我不能说我遇到过任何安全问题或违规行为。就安全性而言,框架的一个真正优势在于,它们可能会保护您免受某种您从一开始就不知道存在的攻击(这是一个了不起的好处)。

        阅读 Codeigniter 和其他框架如何解决安全问题并保护您的应用程序,您会发现它会增强您的开发知识,并在您编写需要严格安全性和高可靠性的大型应用程序时使您受益。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-10-31
          • 1970-01-01
          • 2010-11-19
          • 2010-10-23
          • 2016-05-27
          • 2018-11-04
          • 2014-04-22
          • 2016-11-25
          相关资源
          最近更新 更多