CakePHP安全性

5

我正在考虑使用cakePHP构建Web应用程序。我的问题是,为了防止(SQL注入等),我需要自己编写多少安全代码?cakePHP可以自动处理哪些安全问题,而我需要编写什么呢?


http://book.cakephp.org/view/1296/Security-Component - David Yell
5个回答

4

蛋糕自动执行了许多操作,但有些操作并非如此。根据您希望表单变得安全的程度,您还应考虑“白名单”:详情

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


0
Cake提供了自己的功能,如数据验证、MVC编码模式、控制器、Auth组件、自动配置过程以及安全组件。因此,如果您对此不满意并想添加自己的安全组件,也不必担心。请查看博客:http://goo.gl/ZoQzLx

0

CakePHP本身在这方面做得很好,您不必担心提交的内容。但是,如果您正在使用数据,则所有内容都将未经转义。因此,使用Helper类构建的表单将是XSS安全的,但是一旦您打印出int $this->data中的内容,您必须知道并注意转义它。h()通常用作htmlspecialchars()的别名。

CakePHP默认没有防止XSRF攻击的保护措施。

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


0

当然,这取决于您的代码风格和对框架的理解。如果您正在使用CakePHP函数来存储数据,那么一切都会非常好。

但是,目前我正在开发一个付费的CakePHP“应用程序”,其安全性程度远低于预期 :) 因此,这真的取决于开发人员。


0

在cake中启用安全性只需要几行代码,并使用其内置的类。

对于Sql注入保护

  • 使用cakephp $this->find 将自动清理您的参数,但是如果要使用原始查询,仍可以使用Sanitize::escape()方法清理数据

对于CSRF保护

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

```

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

```

关于XSS

https://book.cakephp.org/2.0/en/core-libraries/components/security-component.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接