Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 62.7MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
CSRF指的是跨网站伪造攻击网络应用程序。CSRF攻击是系统的经过身份验证的用户执行的未经授权的活动。因此,许多Web应用程序都容易受到这些攻击。
Laravel以下列方式提供CSRF保护 -
Laravel包含一个内置的CSRF插件,可为每个活动用户会话生成令牌。这些令牌会验证操作或请求是否由有关的已验证用户发送。
本节详细讨论了在Laravel中实施CSRF保护。在继续进行CSRF保护之前,以下几点值得注意 -
<form method = "POST" action="/profile"> {{ csrf_field() }} ... </form>
考虑以下几行代码。他们展示了一个表单,它以两个参数作为输入: 电子邮件 和 消息 。
<form> <label> Email </label> <input type = "text" name = "email"/> <br/> <label> Message </label> <input type="text" name = "message"/> <input type = ”submit” name = ”submitButton” value = ”submit”> </form>
上述代码的结果如下所示 -
上面显示的表格将接受来自授权用户的任何输入信息。这可能会使Web应用程序容易受到各种攻击。
请注意,提交按钮包含控制器部分的功能。所述 后接触 功能在控制器为该关联视图使用。如下所示 -
public function postContact(Request $request){ return $request-> all(); }
请注意,表单不包含任何CSRF令牌,因此作为输入参数共享的敏感信息容易受到各种攻击。
以下几行代码向您展示了使用CSRF令牌重新设计的表单 -
<form method = ”post” > {{ csrf_field() }} <label> Email </label> <input type = "text" name = "email"/> <br/> <label> Message </label> <input type = "text" name = "message"/> <input type = ”submit” name = ”submitButton” value = ”submit”> </form>
实现的输出将返回带有如下所示令牌的JSON -
{ "token": "ghfleifxDSUYEW9WE67877CXNVFJKL", "name": "CodingDict", "email": "contact@CodingDict.com" }
这是单击“提交”按钮时创建的CSRF标记。
认证是识别用户凭证的过程。在Web应用程序中,身份验证由会话进行管理,会话采用输入参数(例如电子邮件或用户名和密码)进行用户标识。如果这些参数匹配,则说该用户被认证。本章向您介绍Laravel Web应用程序中的身份验 ...