laravel 5.1 有多安全?

How secure is laravel 5.1?

阅读 SQL 注入后,我想知道在 Laravel 中创建应用程序有多安全以及如何测试您的安全性是否符合当今标准?

我开发了一些 Laravel 应用程序,发现它们在我看来非常安全。

我运行各种渗透测试,OWASP ZAP扫描器,sqlsus和5+工具,包括bbqsql和类似的东西用于DB笔测试,nmap用于端口扫描,然后将ZAP切换到攻击模式以执行各种XSS 和 CSRF,并没有发现 Laravel 本身的漏洞 - 只是我修补了我的服务器本身的一些漏洞。

重要的是要说没有任何应用程序是 100% 安全的,因为这在很大程度上取决于您的操作方式。

但是,Laravel 开箱即用,可以保护您免受以下伤害:

  • SQL 注入:如果您使用 Eloquent 查询,这些将确保您的安全。但是,如果您使用 DB::raw() 查询,您将容易受到攻击,因为这些查询会使您容易受到注入。

  • CSRF:Laravel 使用 CSRF 令牌处理此问题,它会检查每个 POST 请求,因此请确保您使用它们,从本质上讲,这可以保护您免受更改请求的性质,即从 POSTGET.

  • XSS:首先清理用户输入。变量不会使用 blade 语法 {!! !!} 转义,它在您的 HTML 代码中解析为 <?= e($foo) ?>,而 {{ }} 转义数据。

这是对 Laravel 安全性的 简短 概述。一旦您开始通过文件上传等打开自己,它可能会有点棘手,另外在 PHP.

中做不安全的事情

这篇文章 here 可能是一篇有趣的读物,可以更深入地了解上面的内容。

简而言之,我发现 Laravel 通过使用 Eloquent 可以免受我曾经 运行 的所有攻击并在需要时清理输入,以及正确使用 blade 语法和 CSRF 标记。