在阅读了 SQL 注入之后,我想知道在 Laravel 中创建应用程序的安全性如何,以及如何测试您的安全性是否满足当今的标准?
我开发了一些 Laravel 应用程序,发现它们在我眼中非常安全。
我运行了各种渗透测试、OWASP ZAP 扫描器、sqlsus 和 5+ 工具,包括 bbqsql 和类似的用于 DB 笔测试的工具、用于端口扫描的 nmap,然后将 ZAP 切换到攻击模式以执行各种 XSS 和 CSRF,并且没有发现 Laravel 中的漏洞本身 - 只是我修补的服务器本身的一些内容。
需要强调的是,没有任何应用程序是 100% 安全的,因为它在很大程度上取决于您的操作方式。
然而,Laravel 确实做得很好,开箱即用,可以保护您免受以下影响:
SQL 注入:如果您使用 Eloquent 查询,这些查询将保证您的安全。但如果你使用的话你会很容易受到攻击DB::raw()
查询,因为这些可能会让您面临注入风险。
CSRF:Laravel 使用 CSRF 令牌来处理这个问题,它会检查每个令牌POST
请求,因此请确保您使用它们,本质上这可以保护您免受某人更改请求性质的影响,即POST
to GET
.
XSS:首先清理用户输入。使用刀片语法不会对变量进行转义{!! !!}
,这决定了<?= e($foo) ?>
在你的 HTML 代码中,而{{ }}
转义数据。
这是一个漂亮的shortLaravel 安全性概述。一旦你开始使用文件上传等方式开放自己,它可能会有点棘手,此外还会在 PHP 中做一些不安全的事情。
本文here http://www.easylaravelbook.com/blog/2015/07/22/laravel-key-security-features/,可能是一本有趣的读物,可以更深入地了解上述内容。
In short,我发现 Laravel 通过使用 Eloquent 并在需要时清理输入,以及正确使用 Blade 语法和CSRF
token.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)