 Laravel 6.0 中文文档.com 2 第一部分:序言 新版特性 Laravel 6.0(LTS 版本) 在 Laravel 5.8 的基础上继续进行优化, 包括引入语义化版本、兼容 Laravel Vapor、优化授权响应、支持任 务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 错误文件和行号处理、针对常见问题的可执行解决方案、代码 编辑、异常分享、以及经过优化的用户体验。 优化授权响应 在之前版本的 Laravel 中,获取并提供自定义授权消息给终端用户 很困难,主要难点在于如何向终端用户解释清楚为什么特定的请求被 拒绝了。在 Laravel 6.0 中,我们可以使用 Gate::inspect 方法和 授权响应消息来轻松实现。例如,给定如下策略方法: /** * 判断用户是否可以查看指定的航班 un.com 4 接下来我们可以通过 Gate::inspect 方法获取授权策略的响应,然 后再通过响应示例的 message() 方法获取授权消息: $response = Gate::inspect('view', $flight); if ($response->allowed()) { // 用户被授权可以访问航班... } if ($response->denied())0 码力 | 1442 页 | 14.66 MB | 1 年前3 Laravel 6.0 中文文档.com 2 第一部分:序言 新版特性 Laravel 6.0(LTS 版本) 在 Laravel 5.8 的基础上继续进行优化, 包括引入语义化版本、兼容 Laravel Vapor、优化授权响应、支持任 务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 错误文件和行号处理、针对常见问题的可执行解决方案、代码 编辑、异常分享、以及经过优化的用户体验。 优化授权响应 在之前版本的 Laravel 中,获取并提供自定义授权消息给终端用户 很困难,主要难点在于如何向终端用户解释清楚为什么特定的请求被 拒绝了。在 Laravel 6.0 中,我们可以使用 Gate::inspect 方法和 授权响应消息来轻松实现。例如,给定如下策略方法: /** * 判断用户是否可以查看指定的航班 un.com 4 接下来我们可以通过 Gate::inspect 方法获取授权策略的响应,然 后再通过响应示例的 message() 方法获取授权消息: $response = Gate::inspect('view', $flight); if ($response->allowed()) { // 用户被授权可以访问航班... } if ($response->denied())0 码力 | 1442 页 | 14.66 MB | 1 年前3
 Laravel 5.6 中文文档function () { // }); }); 广播频道类 如果你的应用消费多个不同的频道,routes/channels.php 文件可能会变得很臃肿,所以,作为使用闭包来授权频道的替代方案,你现在可以使用 频道类。要生成一个频道类,可以使用 Artisan 命令 make:channel。该命令会将新生成的频道类存放到 app/Broadcasting 目录下: php annel; Broadcast::channel('order.{order}', OrderChannel::class); 最后,可以将频道的授权逻辑放到频道类的 join 方法。join 方法中的代码等同于之前位于频道授权闭包中的处理逻辑。当然,你还可以使用频道模 型绑定: 授权策略类,策略用于判断某个用 户是否有权限去访问指定资源。更多详情,请查看授权文档。 Providers 目录 Providers 目录包含应用的所有服务提供者。服务提供者在应用启动过程中绑定服务到容器、注册事件以及执行其他任务为即将到来的请求处理做好0 码力 | 377 页 | 14.56 MB | 1 年前3 Laravel 5.6 中文文档function () { // }); }); 广播频道类 如果你的应用消费多个不同的频道,routes/channels.php 文件可能会变得很臃肿,所以,作为使用闭包来授权频道的替代方案,你现在可以使用 频道类。要生成一个频道类,可以使用 Artisan 命令 make:channel。该命令会将新生成的频道类存放到 app/Broadcasting 目录下: php annel; Broadcast::channel('order.{order}', OrderChannel::class); 最后,可以将频道的授权逻辑放到频道类的 join 方法。join 方法中的代码等同于之前位于频道授权闭包中的处理逻辑。当然,你还可以使用频道模 型绑定: 授权策略类,策略用于判断某个用 户是否有权限去访问指定资源。更多详情,请查看授权文档。 Providers 目录 Providers 目录包含应用的所有服务提供者。服务提供者在应用启动过程中绑定服务到容器、注册事件以及执行其他任务为即将到来的请求处理做好0 码力 | 377 页 | 14.56 MB | 1 年前3
 Laravel 5.3 中文文档....................................................................................... 231 8.2 用户授权 .................................................................................................. 提供一个完整的 Oauth2 服务器实现,Passport 基于 Alex Bilbie 维护的 League OAuth2 server 实 现。 Passport 使得通过 OAuth2 授权码获取访问令牌(access token)变得轻松,你还可以允许用户通 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel Route::get('/logout', 'Auth\LoginController@logout'); 授权 使用类名调用策略方法 有时候一些策略方法只接收当前认证用户而不是授权模型实例,最常见的场景就是授权 create 动 作。例如,如果你在创建一篇博客,你可能希望检查当前用户是否被授权创建文章。 当定义一个不接收模型实例的策略方法时,比如 create 方法,对应类名就不再需要以第二个参0 码力 | 691 页 | 9.37 MB | 1 年前3 Laravel 5.3 中文文档....................................................................................... 231 8.2 用户授权 .................................................................................................. 提供一个完整的 Oauth2 服务器实现,Passport 基于 Alex Bilbie 维护的 League OAuth2 server 实 现。 Passport 使得通过 OAuth2 授权码获取访问令牌(access token)变得轻松,你还可以允许用户通 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel Route::get('/logout', 'Auth\LoginController@logout'); 授权 使用类名调用策略方法 有时候一些策略方法只接收当前认证用户而不是授权模型实例,最常见的场景就是授权 create 动 作。例如,如果你在创建一篇博客,你可能希望检查当前用户是否被授权创建文章。 当定义一个不接收模型实例的策略方法时,比如 create 方法,对应类名就不再需要以第二个参0 码力 | 691 页 | 9.37 MB | 1 年前3
 Laravel 5.2 中文文档更多自定义认证提供者详情,请查看其对应文档。 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 5 授权 Illuminate\Auth\Access\UnauthorizedException 被重命名 为 Illuminate\Auth\Access\AuthorizationException。如果你没有手动捕获该异常那么 }); }); 5、CSRF 攻击 简介 跨站请求伪造是一种通过伪装授权用户的请求来利用授信网站的恶意漏洞。Laravel 使得 防止应用遭到跨站请求伪造攻击变得简单。 Laravel 自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,该令牌用于验 证授权用户和发起请求者是否是同一个人。想要生成包含 CSRF 令牌的隐藏输入字段, 可以使用帮助函数 csrf_field 请求提供了一套便利的机制。例如, Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 30 用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一 步操作。 当然,除了认证之外,中间件0 码力 | 377 页 | 4.56 MB | 1 年前3 Laravel 5.2 中文文档更多自定义认证提供者详情,请查看其对应文档。 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 5 授权 Illuminate\Auth\Access\UnauthorizedException 被重命名 为 Illuminate\Auth\Access\AuthorizationException。如果你没有手动捕获该异常那么 }); }); 5、CSRF 攻击 简介 跨站请求伪造是一种通过伪装授权用户的请求来利用授信网站的恶意漏洞。Laravel 使得 防止应用遭到跨站请求伪造攻击变得简单。 Laravel 自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,该令牌用于验 证授权用户和发起请求者是否是同一个人。想要生成包含 CSRF 令牌的隐藏输入字段, 可以使用帮助函数 csrf_field 请求提供了一套便利的机制。例如, Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 30 用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一 步操作。 当然,除了认证之外,中间件0 码力 | 377 页 | 4.56 MB | 1 年前3
 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》sessionid=1234,Web应用早已建 立了这个Session,对于这个用户来说Session早已存在,因此不 需要创建一个新的。 n 最后,用户将他的身份证明提供给登录脚本(5),服务器授权他 访问他的银行帐户。 n 然而,此时,因为知道这个Session ID,因此攻击者也可以通过 account.jsp?sessionid=1234访问用户的帐户(6)。 原理 n 会话劫持(Session 当开发者向用户暴露一个对网站内部部署对象的引 用时,如一个文件、目录、数据库键值等,若系统 没有访问控制检查或者其他的保护措施,攻击者则 能伪造引用实现对未授权数据的访问 原理 n 基本的攻击原理就是根据已有的对象引用,推测其他未授权对象的 引用。当网站地址或者其他参数包含了文件、目录、数据库记录或 者关键字等参照物时就可能发生这种攻击。 n 如:网络银行中,每个用户有一个ID作为关键字(参照对象)用 +cardID +”and userID=” +user.getID() ;; 76 风险 n 服务器机密信息泄露 防护方法 n 使用非直接的对象引用:这防止了攻击者直接访问其并未授权的 对象,通过一种mapping或其他的方法让攻击者无法直接访问。 n 检查访问:对每一个来自于不信任的源的直接对象引用都必须包 含访问控制检查,从而确信该用户对该对象拥有访问权。 780 码力 | 114 页 | 3.65 MB | 1 年前3 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》sessionid=1234,Web应用早已建 立了这个Session,对于这个用户来说Session早已存在,因此不 需要创建一个新的。 n 最后,用户将他的身份证明提供给登录脚本(5),服务器授权他 访问他的银行帐户。 n 然而,此时,因为知道这个Session ID,因此攻击者也可以通过 account.jsp?sessionid=1234访问用户的帐户(6)。 原理 n 会话劫持(Session 当开发者向用户暴露一个对网站内部部署对象的引 用时,如一个文件、目录、数据库键值等,若系统 没有访问控制检查或者其他的保护措施,攻击者则 能伪造引用实现对未授权数据的访问 原理 n 基本的攻击原理就是根据已有的对象引用,推测其他未授权对象的 引用。当网站地址或者其他参数包含了文件、目录、数据库记录或 者关键字等参照物时就可能发生这种攻击。 n 如:网络银行中,每个用户有一个ID作为关键字(参照对象)用 +cardID +”and userID=” +user.getID() ;; 76 风险 n 服务器机密信息泄露 防护方法 n 使用非直接的对象引用:这防止了攻击者直接访问其并未授权的 对象,通过一种mapping或其他的方法让攻击者无法直接访问。 n 检查访问:对每一个来自于不信任的源的直接对象引用都必须包 含访问控制检查,从而确信该用户对该对象拥有访问权。 780 码力 | 114 页 | 3.65 MB | 1 年前3
 Yii 2.0 权威指南輮 輮 輮 輳 輶 輷 輹 輮 輲 认证 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輳 輶 輷 輹 輮 輳 授权 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輳 輷 輱 輹 輮 輴 处理密码 輮 輮 輮 輮 輮 輮 輮 輮 輮 譹 證 譮 譴 譥 譲 警 譡 譣 譥 接口,它使用起来更直观。 在高级应用模版里提供了一个这样的一个例 子。 要了解更多细节请参考认证(轁 轵 轴 轨 轥 轮 轴 轩 轣 轡 轴 轩 软 轮 ),授权(轁 轵 轴 轨 软 轲 轩 轺 轡 轴 轩 软 轮 )以 及高级应用模版 这三个章节。 輱 輮 輲 輮 从 轙 轉 轉 輱 輮 輱 升级 輱 輱 1 . 2 . 2 3 U R L 管 管 管理 i p t i o n ' ) ; 注 注 注册 册 册链 链 链接 接 接标 标 标签 签 签 和 轍 轥 轴 轡 标签 类似,链接标签有时很实用,如自定义网站图标,指定轒 轳 轳 订 阅,或授权轏 轰 轥 轮 轉 轄 到其他服务器。 可以和元标签相似的方式调用譹 譩 譩 譜 護 譥 譢 譜 譖 譩 譥 護 謺 謺 譲 譥 譧 譩 譳 譴 譥 譲 譌 譩 譮 譫 譔 譡 譧 謨 謩 , 例如,在内容视图中注册链接标签如下所0 码力 | 537 页 | 4.66 MB | 1 年前3 Yii 2.0 权威指南輮 輮 輮 輳 輶 輷 輹 輮 輲 认证 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輳 輶 輷 輹 輮 輳 授权 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輮 輳 輷 輱 輹 輮 輴 处理密码 輮 輮 輮 輮 輮 輮 輮 輮 輮 譹 證 譮 譴 譥 譲 警 譡 譣 譥 接口,它使用起来更直观。 在高级应用模版里提供了一个这样的一个例 子。 要了解更多细节请参考认证(轁 轵 轴 轨 轥 轮 轴 轩 轣 轡 轴 轩 软 轮 ),授权(轁 轵 轴 轨 软 轲 轩 轺 轡 轴 轩 软 轮 )以 及高级应用模版 这三个章节。 輱 輮 輲 輮 从 轙 轉 轉 輱 輮 輱 升级 輱 輱 1 . 2 . 2 3 U R L 管 管 管理 i p t i o n ' ) ; 注 注 注册 册 册链 链 链接 接 接标 标 标签 签 签 和 轍 轥 轴 轡 标签 类似,链接标签有时很实用,如自定义网站图标,指定轒 轳 轳 订 阅,或授权轏 轰 轥 轮 轉 轄 到其他服务器。 可以和元标签相似的方式调用譹 譩 譩 譜 護 譥 譢 譜 譖 譩 譥 護 謺 謺 譲 譥 譧 譩 譳 譴 譥 譲 譌 譩 譮 譫 譔 譡 譧 謨 謩 , 例如,在内容视图中注册链接标签如下所0 码力 | 537 页 | 4.66 MB | 1 年前3
 Laravel 5.1 中文文档CSRF 攻击 5.1 简介 Laravel 使得防止应用遭到跨站请求伪造攻击变得简单。跨站请求伪造是一种通过伪装授权 用户的请求来利用授信网站的恶意漏洞。 Laravel 自动为每一个被应用管理的有效用户 Session 生成一个 CSRF“令牌”,该令牌用于 验证授权用户和发起请求者是否是同一个人。想要生成包含 CSRF 令牌的隐藏输入字段, 可以使用帮助函数 csrf_field 来实现: HTTP 中间件 1、简介 HTTP 中间件提供了一个便利的机制来过滤进入应用的 HTTP 请求。例如,Laravel 包含了 一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登 录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以 用于为离开站点的响应添加合适0 码力 | 307 页 | 3.46 MB | 1 年前3 Laravel 5.1 中文文档CSRF 攻击 5.1 简介 Laravel 使得防止应用遭到跨站请求伪造攻击变得简单。跨站请求伪造是一种通过伪装授权 用户的请求来利用授信网站的恶意漏洞。 Laravel 自动为每一个被应用管理的有效用户 Session 生成一个 CSRF“令牌”,该令牌用于 验证授权用户和发起请求者是否是同一个人。想要生成包含 CSRF 令牌的隐藏输入字段, 可以使用帮助函数 csrf_field 来实现: HTTP 中间件 1、简介 HTTP 中间件提供了一个便利的机制来过滤进入应用的 HTTP 请求。例如,Laravel 包含了 一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登 录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以 用于为离开站点的响应添加合适0 码力 | 307 页 | 3.46 MB | 1 年前3
 CmlPHP v2.x 开发手册
这两个页面提交过来 的数据。 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条记录到 pr_admin_menu 表。然后 给用户授权的时候如果只给添加权限,也必须添加 add和save 的记 录到 pr_admin_access 表中或者是只添加 add 记录然后 在 save 方法中判断有无 add 的权限。这样是非常不方便的。所以0 码力 | 245 页 | 720.67 KB | 1 年前3 CmlPHP v2.x 开发手册
这两个页面提交过来 的数据。 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条记录到 pr_admin_menu 表。然后 给用户授权的时候如果只给添加权限,也必须添加 add和save 的记 录到 pr_admin_access 表中或者是只添加 add 记录然后 在 save 方法中判断有无 add 的权限。这样是非常不方便的。所以0 码力 | 245 页 | 720.67 KB | 1 年前3
 CmlPHP v2.x 开发手册
这两个页面提交过来的数据。 117 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条记录 到 pr_admin_menu 表。然后给用户授权的时候如果只给添加权限,也必须添加 add和save 的记录 到 pr_admin_access 表中或者是只添加 add 记录然后在 save 方法中判断有无 add 的权限。这样是0 码力 | 143 页 | 1.54 MB | 1 年前3 CmlPHP v2.x 开发手册
这两个页面提交过来的数据。 117 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条记录 到 pr_admin_menu 表。然后给用户授权的时候如果只给添加权限,也必须添加 add和save 的记录 到 pr_admin_access 表中或者是只添加 add 记录然后在 save 方法中判断有无 add 的权限。这样是0 码力 | 143 页 | 1.54 MB | 1 年前3
 CmlPHP v2.x 开发手册
这两个页面提交过来的数据。 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条 记录到 pr_admin_menu 表。然后给用户授权的时候如果只给添加权限,也必须添加 add 和save 的记录到 pr_admin_access 表中或者是只添加 add 记录然后在 save 方法中判断有 无 add 的权限。这样是非常不方便0 码力 | 251 页 | 973.37 KB | 1 年前3 CmlPHP v2.x 开发手册
这两个页面提交过来的数据。 按照正常流程我们需要添加三个菜单分别是 user/add 、 user/edit 、 user/save 三条 记录到 pr_admin_menu 表。然后给用户授权的时候如果只给添加权限,也必须添加 add 和save 的记录到 pr_admin_access 表中或者是只添加 add 记录然后在 save 方法中判断有 无 add 的权限。这样是非常不方便0 码力 | 251 页 | 973.37 KB | 1 年前3
共 10 条
- 1














