博客项目速记

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:58   1698   0

导入静态模板

写一个控制器并配置相应的路由return到已存在的php页面

在php页面中修改css路径

<link rel="stylesheet" href="{{asset('admin/style/css/ch-ui.admin.css')}}">

注:asset的路径默认为localhost/public文件夹下,需将css,js放至此文件夹下,否则报错

引入验证码类

把事先下载好的验证码类放到resources下(在此文件下建立org子文件夹)

编写控制器和对应的路由测试验证码是否调出

require_once base_path() . '\resources\org\code\Code.class.php';

其中base_path() . 为自动匹配路径

测试成功后在登录界面进行相应的设置

调用验证码图片

src="{{url('admin/code')}}"

点击验证码刷新

οnclick="this.src='{{url('admin/code')}}?'+Math.random()"

Math.random()产生随机数防止浏览器调用缓存数据

登录表单提交csrf认证及验证码判断

public function login()
{
    if($input=Input::all()){
        dd($input);
    } else{
    return view('admin.login');
    }
}

在登录模板中表单发起时添加csrf保护

<form action="" method="post">
   {{csrf_field()}}
</form>

注:

跨站请求伪造(csrf)通过伪装授权用户的请求来利用授信网站的恶意漏洞,laravel让应用避免遭到跨站请求攻击变得更简单

作用:为有效用户生成一个scrf令牌,验证用户和发起者请求是否为同一个人.

在表单发起时,添加csrf保护

{{ csrf_field() }}

中间件组web中的中间件VerifyCsrfToken会自动为我们驶入请求的token值和session中储存的token是否一致.

验证码判断

在控制器中写如下判断语句

if($input=Input::all()){
    $code = new \Code;
    $_code = $code->get();
    if($input['code']!=$_code){
        return back()->with('msg','验证码错误');
    }
} else{
return view('admin.login');

在首页中动态输出提示信息

<div class="form">
   @if(session('msg'))
   <p style="color:red">{{session('msg')}}</p>
   @endif
   <form action="" method="post">
   </form>
</div>

转载于:https://my.oschina.net/u/3304754/blog/857792

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP