在阅读了SQL注入之后,我想知道在Laravel中创建应用程序是多么安全,以及如何测试您的安全性是否符合当今的标准?
我开发了一些Laravel应用程序,发现它们在我眼中非常安全。
我运行了各种渗透测试,OWASP ZAP扫描仪,sqlsus和5+工具,包括用于数据库笔测试的bbqsql和类似的东西,用于端口扫描的nmap,然后将ZAP切换到攻击模式以执行各种XSS和CSRF,并且没有发现Laravel的漏洞本身 - 我修补了我服务器本身的几件事。
重要的是要说没有应用程序是100%安全的,因为它很大程度上取决于你的工作方式。
但是,Laravel通过保护您免受以下情况的确做得非常好:
DB::raw()
查询,你会很容易受到攻击,因为这些查询可以让你打开注射。POST
请求,以确保您使用它们,这基本上可以保护您免受更改请求性质的人的影响,即从POST
到GET
。{!! !!}
不会转义变量,<?= e($foo) ?>
会解析为HTML代码中的{{ }}
,而here会转义数据。这是Laravel安全性的简短概述。一旦你开始使用文件上传等等,它可能会有点棘手,另外在PHP中做不安全的事情。
这篇文章CSRF
,可能是一个有趣的阅读,与上述更深入。
简而言之,我发现Laravel对于我曾经运行的所有攻击都是安全的,可以根据需要使用Eloquent和sanitizing输入,以及正确使用刀片语法和qazxswpoi令牌。