现在我正在学习CakePHP框架,我只是想知道是什么让CakePHP变得安全.它的组件有多安全,例如认证组件的安全性.另外,作为开发人员,我们可以做些什么来提高CakePHP基础Web应用程序的安全性?
你们也推荐任何书籍或网站来了解有关CakePHP安全性的更多信息吗?
希望很快能收到你们的消息.谢谢
Leo:有些网站不需要高级别的安全性,它们可以带来性能损失.其他人必须是不可侵犯的.
对不起狮子座,但我不同意.您构建的每个站点都是在考虑到安全性的前提下完成的.无论它是什么类型的网站.例如,假设您构建了这个非常紧凑的超级黑客网站.您将它托管在共享服务器上,猜猜是什么..有人通过您不太安全的网站上的漏洞访问了您的安全网站.甚至整个服务器.
我知道,这是一个厄运理论,但我相信这样的事情每天都会发生.
Cake 遵循许多领域的最佳实践,并且内置了非常安全的工具,其基础架构已经在某种程度上覆盖了许多典型的webapp安全领域.例如,你不需要担心SQL注入,因为Cake的数据库抽象会逃避所有输入.如果没有,手册会适当警告您:
updateAll(array $fields, array $conditions)
!
$ fields数组接受SQL表达式.应手动引用文字值.
使用SecurityComponent可以获得自动表单欺骗保护.
数据验证是模型的一个重要组成部分.
AuthComponent 正确地散列和加密密码,但不一定以最安全的方式.
有一个方便的h()
快捷方式htmlentities
,您应该使用它来逃避输出以避免XSS问题.
等等perge perge perge ...
您仍然必须正确使用所有组件,并注意不要打开任何"自定义"漏洞.Cake只是一个工具箱,使用它构建一个非常不安全的应用程序仍然是完全可能的.无论枪有多好,你仍然可以用脚射击自己.默认的Cake结构只是一个起点.在安全性方面,这不是最终的全部; 为自己考虑;为自己想.约翰提供的链接确实是一个很好的起点.