laravel5通过auth.attempt事件加入登陆验证码

<?php namespace WangDong\Http\Controllers\Auth;

use Illuminate\Http\Exception\HttpResponseException;
use Illuminate\Http\Request;
use WangDong\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

class AuthController extends Controller {

    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don‘t you explore it?
    |
    */

    use AuthenticatesAndRegistersUsers;

    /**
     * Create a new authentication controller instance.
     *
     * @param  \Illuminate\Contracts\Auth\Guard  $auth
     * @param  \Illuminate\Contracts\Auth\Registrar  $registrar
     * @return void
     */
    public function __construct(Guard $auth, Registrar $registrar,Request $request)
    {
        $this->auth = $auth;
        $this->registrar = $registrar;
        //注册auth.attemp事件
        //加入验证码的验证
        $this->auth->attempting(function()use($request){
            $phrase = \Session::get(‘phrase‘);
            if($request->input(‘phrase‘) != $phrase){
                throw new HttpResponseException(
                    redirect(‘/auth/login‘)->withInput($request->input())->withErrors([‘phrase‘=>‘验证码错误‘])
                );
            }
        });
        $this->middleware(‘guest‘, [‘except‘ => ‘getLogout‘]);
    }

}
时间: 2024-11-02 13:25:35

laravel5通过auth.attempt事件加入登陆验证码的相关文章

phpcms v9后台登陆验证码无法显示,怎么取消验证码

phpcms v9后台登陆验证码无法显示论坛里关于这个问题貌似一直没有解决,查看源代码后发现,关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录, 所以只要修改cache/configs/system.php文件中的网站路径变量 ‘web_path’ 即可. 举例说明(本地域名http://localhost) 如果所有的文件都在根目录下(例如apache下的htdocs),此时,默认访问地址应该是http://localhost/,则‘web_path’=>'/',若网

java登陆验证码与JS无刷新验证

最近公司的项目的登陆模块由我负责,所以就做了个登陆小功能进行练手,其包括了用jQuery对用户名和密码进行不为null验证,和出于安全性考虑加了一个验证码的校验 别的不说先上代码 controller层 CreateImage.java package com.controller; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage;

解决laravel 的用户验证Auth::attempt总会fail的问题

1.在laravel项目中,当使用Auth::attempt()用于用户验证时,Auth::attempt()会把密码通过Hash进行转换,变成一串不知啥的长字符,如果你在数据库里事先设置了明文的密码,那么它就会fail:所以你在用户注册时将密码进行Hash转换再存入数据库. 2.数据库密码字段的长度必须在60位或以上,这好像是laravel规定的,试过完全正确,不过不知道可不可以通过修改某个配置来取消这个规定或减少这个长度.请高人赐教.

laravel5.5 Auth门脸类认证

1 配置常用门脸方法Auth::attempt(["email"=>"111","pass"=>"1111"],is_remember)匹配User模型 通过则登录成功获取用户 $user=Auth::user(); 获取用户id $user=Auth::id() 原文地址:http://blog.51cto.com/13708834/2165641

登陆验证码的实现

因为没怎么做网页端的功能,一直不知道登陆验证码是怎么实现的,这次学习梳理一下: 1. web 端展示的是图片,有后台服务(如sevlet返回一个图片) 2. 每次展示/刷新图片,请求一次服务端,web端生成一个唯一ID传到服务端,服务端保存该唯一ID与生成的验证码的对应关系,并返回图片 3. 登陆请求参数包含用户名和密码,唯一ID和用户录入的验证码 4. 登陆后台服务要验证用户录入的验证码与根据唯一ID找到的服务端缓存的验证码是否一致,如果不一致则报错.如果一致,在继续校验用户名和密码是否正确

laravel5.5 调用系统自带登陆认证auth

1执行命令 php artisan make:auth 2 编辑文件 config/auth guardes 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], providers 'admins' => [ 'driver' => 'eloquent', 'model' => App\Model\Admin::class, ], 3 创建model文件 php artisan make:mode

python爬虫解决百度贴吧登陆验证码问题

作为贴吧重度用户,写了个贴吧爬虫脚本 抄了一些别人的代码,记得有个验证码解决的,但是忘了链接了,今天终于自己解决了. 首先要让登陆需要验证码,不停地登陆就好了...度娘很快会加上验证码大法的...需要验证码的情况下,直接登陆返回的错误信息是error=257 打开贴吧首页选择登陆,弹出验证码,找到验证码的链接是 右键在新标签页中打开 注意到链接是 https://passport.baidu.com/cgi-bin/genimage?jxIcaptchaservice+一串字母数字 这个时候根据

登陆验证码的实例

登录验证码 public class VerifyCodeServlet extends HttpServlet { ? ????public void doGet(HttpServletRequest request, HttpServletResponse response) ????????????throws ServletException, IOException { ????????/** ???????? * 1.生成图片 ???????? * 2.记录验证码至Session域中

ASP.NET中登陆验证码的生成和输入验证码的验证

一:验证码的生成实现代码 protected void Page_Load(object sender, EventArgs e)    {        string validateCode = CreateValidateCode();//生成验证码         Bitmap bitmap = new Bitmap(imgWidth, imgHeight);//生成Bitmap图像         DisturbBitmap(bitmap); //图像背景         DrewVa