关于Laravel 5.1安全性

5

我是一个Laravel 5.1项目开发新手,希望学习如何避免安全风险。Laravel可以防范哪些攻击?而哪些攻击是Laravel不安全的?

使用中间件来处理授权是一个很好的方式。

我知道Laravel对于CSRF攻击是安全的。

还有什么需要知道的吗?那SQL注入呢?Laravel是安全的还是不安全的?


Laravel的Eloquent ORM使用PDO参数绑定来避免SQL注入。更多信息请访问http://www.easylaravelbook.com/blog/2015/07/22/how-laravel-5-prevents-sql-injection-cross-site-request-forgery-and-cross-site-scripting/。 - Imtiaz Pabel
我们可以说 Request::get($data) 是完全安全的吗? - Cihan Küsmez
是的,当然。@Cihan Küsmez - Imtiaz Pabel
@CihanKüsmez已经涵盖了你所要求的内容了吗? - Maytham Fahmi
@maytham-ɯɐɥıλɐɯ 我理解 Laravel 拥有针对经典攻击的强大安全工具,但这并不意味着它完全安全。我们还需要谨慎处理。感谢您的回答。 - Cihan Küsmez
我问了几乎相同的问题,也许这个答案可以为您提供更多细节 https://dev59.com/-JDea4cB1Zd3GeqPbGiH#33327360 - davejal
1个回答

10

简短回答:

Laravel 5.1默认情况下在SQL注入、CSRF和XSS方面已经做好了安全保护。

更多细节:

在我看来,你应该注意以下几点:

1- 不仅Laravel本身要负责你的Web应用安全,还有其周围的环境。
    - Web服务器应该正确配置并且保证安全。
    - 在你的域名中使用SSL(证书)是一个优势。
    - 只使用SFTP通过SSH进行文件传输,只使用SSH进行控制台连接。
    - 使用受信任的提供商和物理上安全的服务器环境。
    - 定期备份你的文件和数据库,将数据移动到提供商服务器位置之外。
    - 为SSH控制台、数据库或其他服务创建不同的用户名和密码。
    - 对于SSH访问和数据库访问,不要经常使用管理员或root用户名,只在紧急情况下使用,而是创建子管理员/根帐户并使用它。

2- 最重要的是,在进一步开发Laravel时,你可能会冒着违反Laravel默认安全规则的风险进行不良编程。

结论:

因此,建议不要仅仅依赖于默认安全措施。当你的项目完成时,需要进行自己的渗透测试以确保一切按计划工作并且是安全的。并遵循一些简单的安全规则,这样你就可以完全安全。

我建议您查看此链接有关CSRF的内容,以及像@ImtiazPabel评论中的链接

最后,查看此链接也是不错的选择:

编辑
在评论中,OP问道:

我们可以说Request::get($data)是完全安全的吗?

Request::get($data)是安全并且可靠的。

注意
我和其他三个人还有几个月前做了一个简单的项目来测试Laravel 5.1的安全级别,并且成功通过了测试。没有任何值得注意的意见。


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