Security cakePHP安全性

Security cakePHP安全性,security,cakephp,Security,Cakephp,我正在考虑使用cakePHP构建一个web应用程序。我的问题是我需要自己编写多少安全代码来防止(SQL注入等)?cakePHP自己负责哪些安全性方面的工作,我需要编写哪些代码?cakePHP本身非常擅长,您不必担心提交的内容。但是,如果您使用的是这些数据,那么一切当然都是不可替代的。因此,从Helper类构建的表单将是XSS安全的,但一旦打印出int$this->数据,您必须知道并小心避开它。h()是htmlspecialchars()的常用别名 CakePHP对XSRF没有现成的保护 对于AC

我正在考虑使用cakePHP构建一个web应用程序。我的问题是我需要自己编写多少安全代码来防止(SQL注入等)?cakePHP自己负责哪些安全性方面的工作,我需要编写哪些代码?

cakePHP本身非常擅长,您不必担心提交的内容。但是,如果您使用的是这些数据,那么一切当然都是不可替代的。因此,从Helper类构建的表单将是XSS安全的,但一旦打印出int$this->数据,您必须知道并小心避开它。h()是htmlspecialchars()的常用别名

CakePHP对XSRF没有现成的保护


对于ACL,它为您提供了一些组件。

当然,它取决于您的代码风格以及您对框架的理解。当然,如果您使用CakePHP函数来存储数据,它将非常好


但目前我正在开发一个付费的CakePHP“应用程序”,它远不是安全的代码:),因此它确实依赖于开发人员。

cake会自动完成很多事情 但有些人不是。根据你希望你形成的安全性,你也应该考虑“白名单”:


最简单的方法是使用安全组件。

Cake提供了自己的功能,如数据验证、MVC编码模式、控制器、身份验证组件、自动配置过程以及安全组件。因此,不必担心,如果您对此不满意,并希望添加自己的安全组件,请浏览博客:

只需几行代码并使用内置类即可启用cake中的安全性

用于Sql注入保护

  • 使用cakephp$this->find将自动清理参数,但如果您想使用原始查询,您仍然可以使用清理::escape()方法清理数据
用于CSRF保护

  • 您可以启用它app/Controller/AppController.php
```

```

对于XSS

  • 如果可能,请始终使用cakephp表单帮助程序()
  • 当数据来自文本字段时,请始终使用h()(要通过htmlspecialchars换行的文本)打印数据

public $components = [
   'Security' => [
       'csrfUseOnce' => false,
       'csrfExpires' => '+1 hour',
   ],
];