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