[ Laravel 5.3 文档 ] 安全 —— 用户认证

1、简介 注:想要更快上手?只需要在新安装的Laravel应用下运行 php artisan make:auth ,然后在浏览器中访问 http://your-app.dev/register ,该命令会生成用户登录注册所需要的所有东西。 Laravel 中实现用户认证非常简单。实际上,几乎所有东西都已经为你配置好了。配置文件位于config/auth.php,其中包含了用于调整认证...

最佳实践系列(六):PHP 开发者如何做好密码保护 & Laravel 底层密码存储和验证实现

随着在线攻击的增多,密码安全越来越重要。作为开发者我们要担负起安全管理、计算哈希和存储用户密码的责任,不管应用是简单的游戏还是绝密商业文件的仓库,都要做到这一点。PHP内置了一些工具,让保护密码变得更加容易,本节我们就来讨论如何根据现代的安全措施来使用这些工具。 1、密码保护三原则 绝对不能知道用户的密码 我们绝对不能知道用户的密码,也不能有获取用户密码的方式,如果应用的数据库被黑...

Laravel 5.2 新特性系列 —— 多用户认证功能实现详解

Laravel 5.2新增多用户认证支持,即同时允许不同数据表用户(如前台用户、后台用户)登录认证。下面我们就来简单介绍多用户登录及注册功能实现。 1、生成认证脚手架 首先我们使用Laravel 5.2提供的认证脚手架完成初始化工作: php artisan make:auth 该Artisan命令会生成用户认证所需的路由、视图以及HomeController: 去...

[ Laravel 5.2 文档 ] 服务 —— 用户认证

1、简介 Laravel 中实现用户认证非常简单。实际上,几乎所有东西都已经为你配置好了。配置文件位于config/auth.php,其中包含了用于调整认证服务行为的、文档友好的选项配置。 在底层代码中,Laravel 的认证组件由“guards”和“providers”组成,Guard 定义了用户在每个请求中如何实现认证,例如,Laravel 通过 session guard来...

[ Laravel 5.2 文档 ] 架构 —— 服务提供者

1、简介 服务提供者是所有Laravel应用启动的中心,你自己的应用以及所有Laravel的核心服务都是通过服务提供者启动。 但是,我们所谓的“启动”指的是什么?通常,这意味着注册事物,包括注册服务容器绑定、事件监听器、中间件甚至路由。服务提供者是应用配置的中心。 如果你打开Laravel自带的config/app.php文件,将会看到一个providers数组,这里就是应...

Laravel 5.1用户认证(一) —— 使用Laravel内置组件快速实现注册登录

1、引言 Laravel 中实现用户登录认证非常简单,因为Laravel基本上为你提供登录认证所需的一切组件,你只要拿过来用就可以了。在Laravel 5.1以前,新安装的Laravel内置了登录&注册功能,5.1中去除了该功能,但这仅仅是路由和视图,后台的一应代码还是保留了,所以我们要做的仅仅是自定义路由和视图即可。 2、从配置文件说起 Laravel 登录认证对应的...

Laravel 服务提供者实例教程 —— 创建 Service Provider 测试实例

从某种意义上说,服务提供者有点类似HTTP控制器,HTTP控制器用于为相关路由注册提供统一管理,而服务提供者用于为相关服务容器提供统一绑定场所,此外服务提供者还可以做一些初始化启动操作。Laravel的每个核心组件都对应一个服务提供者,可以这么说,服务提供者是Laravel的心脏,是Laravel的核心,核心组件类在这里完成注册、初始化以供后续调用。 既然这么重要,那么如何在自己的...

[ Lumen 5.1 文档 ] 更多特性 —— 服务提供者

1、简介 服务提供者是所有Lumen应用启动的中心,你自己的应用以及所有Lumen的核心服务都是通过服务提供者启动。 但是,我们所谓的”启动“指的是什么?通常,这意味着注册事物,包括注册服务容器绑定、时间监听器、中间件甚至路由。服务提供者是应用配置的中心。 如果你打开Lumen自带的bootstrap/app.php文件,将会看到一个$app->register()调...

[ Lumen 5.1 文档 ] 基础 —— HTTP 中间件

1、简介 HTTP中间件提供了一个便利的机制来过滤进入应用的HTTP请求。例如,Lumen包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件...

[ Laravel 5.1 文档 ] 服务 —— 哈希

1、简介 Laravel Hash门面为存储用户密码提供了安全的Bcrypt 哈希算法。如果你正在使用Laravel应用自带的AuthController控制器,将会自动为注册和认证使用该Bcrypt。 Bcrypt是散列密码的绝佳选择,因为其”工作因子“是可调整的,这意味着随着硬件功能的提升,生成哈希所花费的时间也会增加。 2、基本使用 可以调用Hash门面上的make方法...