现在我正在学习CakePHP框架,我只是想知道是什么让CakePHP变得安全。它的组件有多安全,例如认证组件的安全性。另外,作为开发人员,我们可以做些什么来提高CakePHP基础Web应用程序的安全性?
你们也推荐任何书籍或网站来了解有关CakePHP安全性的更多信息吗?
希望很快能收到你们的消息。 感谢
答案 0 :(得分:6)
狮子座:有些网站不需要高水平 他们可以给予安全保障 性能打击。其他人一定是 不受侵犯。
抱歉Leo,但我不同意。您构建的每个站点都是在考虑到安全性的前提下完成的。无论它是什么类型的网站。例如,假设您构建了这个非常紧凑的超级黑客网站。您将它托管在共享服务器上,猜猜是什么..有人通过您不太安全的网站上的漏洞访问了您的安全网站。甚至是整个服务器。
我知道,这是一个厄运理论,但我相信这样的事情每天都会发生。
答案 1 :(得分:5)
Cake 遵循许多领域的最佳实践,内置非常安全的工具附带的基础架构已经在某种程度上涵盖了许多典型的webapp安全领域。例如,你不需要担心SQL注入,因为Cake的数据库抽象会逃避所有输入。如果没有,the manual warns you适当地:
updateAll(array $fields, array $conditions)
!
$ fields数组接受SQL表达式。应手动引用文字值。
使用SecurityComponent可以获得自动表单欺骗保护
数据验证是模型的一个重要组成部分
AuthComponent哈希和盐密码正确,但不一定以最安全的方式。
h()
有一个方便的htmlentities
快捷方式,您应该使用它来转义输出以避免XSS问题。
等等perge perge perge ...
你仍然必须正确使用所有组件,并注意不要打开任何“自定义”漏洞。 Cake只是一个工具箱,使用它构建一个非常不安全的应用程序仍然是完全可能的。无论枪有多好,你仍然可以用脚射击自己。默认的Cake结构只是一个起点。在安全性方面,这不是最终的全部;为自己考虑;为自己想。约翰提供的link确实是一个很好的起点。
答案 2 :(得分:4)
CakePHP框架已经存在了很长时间(自2005年以来)并且是开源软件。这意味着其代码可供任何希望这样做的开发人员或非开发人员查看。 CakePHP社区和安全社区都有充足的时间来审查代码库并找到/纠正潜在的安全问题。这并不意味着该软件是完美的,但CakePHP如此受欢迎,你可以打赌它已被彻底审查,如果它有任何缺陷,它们很深,很难找到/识别。
但请记住,仅仅因为框架中的代码是安全的并不意味着使用它会使您的代码安全。您仍然需要遵循安全编码实践,因为无论您使用的框架的安全级别如何,您的代码库都可能容易受到攻击。
答案 3 :(得分:2)
蛋糕安全性非常好,但一切都有漏洞。对于一个超级安全的网站,我将研究已知的安全漏洞和错误,并针对这些情况测试网站。依靠其他人的安全程度陈述仅仅是不够的。
某些网站不需要高级别的安全性,并且可以提高性能。其他人必须是不可侵犯的。
所有人都说,我对Cake的内置安全性印象深刻,并且还没有修改它。