2、載入驗證碼類及$_SESSION處理

来源:http://www.cnblogs.com/guduoer/archive/2017/01/23/6306030.html
-Advertisement-
Play Games

1、載入驗證碼類,並驗證 (1)下載定義好的code驗證碼類,放置到resources目錄下 (2) 添加路由 (3)添加方法 LoginController.php 註意: 不要忘記引入Code類,不加‘\’,會引入App\Http\Controllers\Admin\Code 驗證: 2、$_S ...


1、載入驗證碼類,並驗證

(1)下載定義好的code驗證碼類,放置到resources目錄下

 

(2) 添加路由

Route::get('/admin/code','Admin\LoginController@code');

(3)添加方法 LoginController.php

public function code()
    {
         $code = new \Code();
         $code->make();
    }

註意: 不要忘記引入Code類,不加‘\’,會引入App\Http\Controllers\Admin\Code

require_once 'resources/code/Code.class.php';

驗證:

 

2、$_SESSION處理 (引入第三方類時)

查看Code類,可以看到其中的get方法,驗證session

public function get() {
        return $_SESSION['code'];
    }

    //生成驗證碼
private function createCode() {
        $code = '';
        for ($i = 0; $i < $this->codeLen; $i++) {
            $code .= $this->codeStr [mt_rand(0, strlen($this->codeStr) - 1)];
        }
        $this->code = strtoupper($code);
        $_SESSION['code'] = $this->code;
    }

(1)添加測試路由

Route::get('/admin/getcode','Admin\LoginController@getcode');

(2)添加方法 LoginController.php

public function getcode()
    {
         $code = new \Code();
         echo $code->get();
    }

驗證:

原因: laravel對session進行封裝,未開啟原始session

修改:

剛剛將server.php重命名為index.php,修改該文件,打開session_start();

 1 <?php
 2 
 3 /**
 4  * Laravel - A PHP Framework For Web Artisans
 5  *
 6  * @package  Laravel
 7  * @author   Taylor Otwell <[email protected]>
 8  */
 9 
10 session_start();
11 
12 $uri = urldecode(
13     parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
14 );
15 
16 // This file allows us to emulate Apache's "mod_rewrite" functionality from the
17 // built-in PHP web server. This provides a convenient way to test a Laravel
18 // application without having installed a "real" web server software here.
19 if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
20     return false;
21 }
22 
23 require_once __DIR__.'/public/index.php';

刷新

3、將驗證碼引入到登陸頁面

(1)修改login.blade.php

1 <input type="text" class="code" name="code"/>
2 <span><i class="fa fa-check-square-o"></i></span>
3 <img src="{{url('admin/code')}}" alt="">

(2)驗證

http://127.0.0.1/admin/login(此時顯示驗證碼,而點擊驗證碼,並不能更新)

 (3)驗證碼刷新功能

 添加onclick 事件

<img src="{{url('admin/code')}}" alt="" onclick="this.src='{{url('admin/code')}}'">

 

如圖可以看到:訪問地址一樣,有的瀏覽器誤以為是一樣的地址,不會再去請求,所以加一個隨機數區分

<img src="{{url('admin/code')}}" alt="" onclick="this.src='{{url('admin/code')}}?'+Math.random()">

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 簡介 該頭文件包含兩個概念相似的容器 map 、 multimap 。 而這兩個容器反映的概念就是 映射 。 這兩個容器 相同 的屬性有: 關聯性 映射 動態增長 鍵(Key)唯一性 這兩個 不相同 的屬性是: 映射關係 ![][maps image] 容器類別 既然說到關聯性容器,自然得說說標準庫 ...
  • 請實現一個函數,將一個字元串中的空格替換成“%20”。例如,當字元串為We Are Happy.則經過替換之後的字元串為We%20Are%20Happy。 以下是java.lang.StringBuilder.replace()方法的聲明 參數 start -- 這是開始索引(包括)。 end -- ...
  • 前段時間在想Kafka怎麼監控、怎麼知道生產的消息或消費的消費是否有丟失,目前有幾個開源的Kafka監控框架這裡整理了下,不過這幾個框架都有各自的問題側重點不一樣; 1、Kafka Monitor 2、Availability Monitor for Kafka 3、Kafka Web Consol ...
  • 在 github 發現一個 Ansible 任務計時插件“ansible-profile”,安裝這個插件後會顯示 ansible-playbook 執行每一個任務所花費的時間。Github 地址: https://github.com/jlafon/ansible-profile 。 這個插件安裝很 ...
  • hibernate的命名策略,可以減少對資料庫標識符命名的維護,進一步減少這部份命名的重覆性代碼量,以提高維護。 hibernate的命名方式,有兩類,一類是顯式命名,一類是隱式命名。 顯式命名:在映射配置時,設置的資料庫表名,列名等,就是進行顯式命名。 隱式命名:顯式命名一般不是必要的,所以可以選 ...
  • 一.問題 隨著電腦革命的發展,“不安全”的編程方式已逐漸成為編程代價高昂的主因之一。 初始化和清理正是涉及安全的兩個問題。 二.java 解決方案 構造器:一種特殊的方法。java 中”初始化“和”創建“捆綁在一起,兩者不能分離。 垃圾回收器:釋放無用的對象。 三.方法重載 為什麼要在這裡講方法重 ...
  • String模塊包含大量實用常量和類,以及一些過時的遺留功能,並還可用作字元串操作。 1. 常用方法 常用方法描述 str.capitalize() 把字元串的首字母大寫 str.center(width) 將原字元串用空格填充成一個長度為width的字元串,原字元串內容居中 str.count(s ...
  • 1、表單提交,並將其提交到本頁 (1) form 屬性method為post方法,修改路由,使其接收post、get的請求 (2)LoginController.php 修改login方法,根據不同的請求返回不同的內容 如果請求方法為get ,返回登陸頁面;如果請求為post,就行驗證 刷新頁面,如 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...