我正在考虑使用cakePHP构建Web应用程序。我的问题是,为了防止(SQL注入等),我需要自己编写多少安全代码?cakePHP可以自动处理哪些安全问题,而我需要编写什么呢?
CakePHP本身在这方面做得很好,您不必担心提交的内容。但是,如果您正在使用数据,则所有内容都将未经转义。因此,使用Helper类构建的表单将是XSS安全的,但是一旦您打印出int $this->data中的内容,您必须知道并注意转义它。h()通常用作htmlspecialchars()的别名。
CakePHP默认没有防止XSRF攻击的保护措施。
对于ACL,它为您提供了一些组件。
当然,这取决于您的代码风格和对框架的理解。如果您正在使用CakePHP函数来存储数据,那么一切都会非常好。
但是,目前我正在开发一个付费的CakePHP“应用程序”,其安全性程度远低于预期 :) 因此,这真的取决于开发人员。
在cake中启用安全性只需要几行代码,并使用其内置的类。
对于Sql注入保护
对于CSRF保护
```
public $components = [
'Security' => [
'csrfUseOnce' => false,
'csrfExpires' => '+1 hour',
],
];
```
关于XSS
https://book.cakephp.org/2.0/en/core-libraries/components/security-component.html