【问题标题】:What makes CakePHP secure, and how can we increase it's security?是什么让 CakePHP 安全,我们如何提高它的安全性?
【发布时间】:2011-03-17 23:31:29
【问题描述】:

现在我正在学习 CakePHP 框架,我只是想知道是什么让 CakePHP 安全。它的组件有多安全,例如身份验证组件的安全程度。另外,作为开发人员,我们可以做些什么来提高 CakePHP 基础 Web 应用程序的安全性?

你们还推荐任何书籍或网站来了解有关 CakePHP 安全性的更多信息吗?

希望尽快收到你们的来信。 谢谢

【问题讨论】:

    标签: php security web-applications cakephp


    【解决方案1】:

    Leo:有些网站不需要高等级 的安全,他们可以给一个 性能受到打击。其他必须是 不可侵犯。

    对不起,Leo,但我不同意。您构建的每个站点都非常注重安全性。不管它是什么类型的网站。例如,假设您已经建立了这个非常严格的超级黑客安全网站。您将其托管在共享服务器上,然后猜猜是什么……有人通过您不太安全的站点上的漏洞访问了您的安全站点。甚至是整个服务器。

    我知道,这是一个厄运理论,但我相信这样的事情每天都会发生。

    【讨论】:

      【解决方案2】:

      Cake 在许多领域都遵循最佳实践,并且内置了相当安全的工具,其基础架构已经在一定程度上涵盖了许多典型的 webapp 安全领域。例如,您不必担心 SQL 注入,因为 Cake 的数据库抽象会转义所有输入。如果没有,the manual warns you 适当:

      updateAll(array $fields, array $conditions)
      

      ! $fields 数组接受 SQL 表达式。字面值应手动引用。

      使用 SecurityComponent,您可以获得自动表单欺骗保护。
      数据验证是模型的重要组成部分。
      AuthComponent 散列和加盐密码正确,但不一定以最安全的方式。
      htmlentities 有一个方便的 h() 快捷方式,您应该使用它来转义输出以避免 XSS 问题。
      等等等等...

      仍然必须正确使用所有组件,并注意不要打开任何“自定义”孔。 Cake 只是一个工具箱,仍然完全有可能使用它构建一个极其不安全的应用程序。不管枪有多好,你仍然可以在脚上开枪。默认的 Cake 结构只是一个起点。就安全性而言,这不是万能的。为你自己想想。 John 提供的link 确实是一个很好的起点。

      【讨论】:

        【解决方案3】:

        CakePHP 框架已经存在了很长一段时间(自 2005 年以来)并且是开源软件。这意味着任何希望这样做的开发人员或非开发人员都可以查看其代码。 CakePHP 社区和安全社区都有充足的时间来审查代码库并发现/纠正潜在的安全问题。这并不意味着该软件是完美的,但随着 CakePHP 如此受欢迎,您可以打赌它已经过彻底的审查,如果其中有任何缺陷,它们很深,很难找到/识别。

        但请记住,仅仅因为框架中的代码是安全的,并不意味着使用它可以使您的代码安全。您仍然需要遵循安全编码实践,因为无论您使用的框架的安全级别如何,您的代码库都可能容易受到攻击。

        【讨论】:

        • 谢谢约翰,我问这个问题的原因之一是,当我考虑在不使用 CakePHP 的情况下制作一个完整的身份验证系统时,我注意到其中很大一部分与安全问题有关。诸如数据验证和防止 SQL 注入之类的事情。因此,通过采用一个框架(cakephp),我认为会有一些内置的安全措施来防止我刚才提到的一些事情。我的假设正确吗?还有什么特别是开发人员总是为拥有安全代码而做的事情?再次,提前感谢:)
        • 我对 CakePHP 不熟悉,因为我从未使用过它,所以我不确定它为安全编程提供了什么样的执行和工具。它可能会为您提供处理数据验证和清理的工具,但您可能需要明确使用这些工具,因为我怀疑它们是否会自动运行。
        • 你提到了“安全编码实践”,你能不能给一些提示或参考
        【解决方案4】:

        蛋糕的安全性很好,但每样东西都有漏洞。对于一个超安全的站点,我会研究已知的安全漏洞和错误,并针对这些情况测试站点。仅仅依靠别人对安全程度的声明是不够的。

        有些网站不需要高级别的安全性,它们会影响性能。他人不可侵犯。

        总而言之,我对 Cake 的内置安全性印象深刻,还没有修改它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-02
          • 2015-09-20
          • 1970-01-01
          • 1970-01-01
          • 2011-04-21
          • 1970-01-01
          • 1970-01-01
          • 2021-05-06
          相关资源
          最近更新 更多