亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談網(wǎng)站后臺管理系統(tǒng)防翻墻的設(shè)計(jì)與實(shí)現(xiàn)

        2020-09-17 13:41:32張世雄
        科學(xué)與信息化 2020年24期

        張世雄

        摘 要 網(wǎng)站的后臺管理系統(tǒng)是一個(gè)網(wǎng)站最重要的部分,網(wǎng)站前端中大部分?jǐn)?shù)據(jù)都來自于后臺管理系統(tǒng)的操作,這樣,后臺管理系統(tǒng)的安全就顯得尤為重要。本文主要利用PHP技術(shù)及Session會話對象設(shè)計(jì)兩種方法實(shí)現(xiàn)針對后臺的防翻墻。

        關(guān)鍵詞 后臺管理系統(tǒng);Session會話;防翻墻;PHP技術(shù)

        引言

        一個(gè)完整的網(wǎng)站分為web前端與后臺管理系統(tǒng)兩部分。前端負(fù)責(zé)數(shù)據(jù)的展示,后臺管理系統(tǒng)負(fù)責(zé)完成對數(shù)據(jù)庫的增、刪、改操作。所以必須擁有一定權(quán)限的后臺管理員才能操作后臺系統(tǒng),對于沒有權(quán)限而操作后臺的行為是堅(jiān)決不允許的。本文以開源后臺框架X-admin網(wǎng)站后臺管理系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)防止那些沒有權(quán)限而想進(jìn)入后臺操作數(shù)據(jù)的行為,保證后臺數(shù)據(jù)的安全。

        1設(shè)計(jì)思想

        1.1 防翻墻概念

        對于不是從登錄頁面輸入正確的賬號和密碼,而直接進(jìn)入后臺管理頁面的行為,統(tǒng)稱為翻墻。所以防翻墻,就是防止這種行為,如果沒有登錄而直接運(yùn)行后臺頁面,則會返回到登錄頁面要求進(jìn)行賬號密碼輸入。

        1.2 設(shè)計(jì)思想

        (1)簡易版

        登錄成功后,將登錄的信息(如登錄用戶名)添加到Session文件中,由于Session文件是可以被所有php頁面訪問,根據(jù)這個(gè)特點(diǎn),對后臺中需要登錄權(quán)限的php頁面在運(yùn)行之前先檢測Session文件中是否有登錄信息,如果有,則表示已登錄,可以進(jìn)行增刪改查方面的操作,否則,返回到登錄頁面?;谶@種操作的地方有很多,則可以在functions.php文件中創(chuàng)建一個(gè)公共函數(shù)進(jìn)行判斷。實(shí)現(xiàn)流程如圖1所示。

        (2)高級版

        在網(wǎng)站配置文件中設(shè)置需要攔截的文件夾,將該文件夾及所有的子文件夾和文件中是php文件進(jìn)行攔截;同時(shí)還可以設(shè)置該文件夾下排除之外不需攔截的文件??梢詫?shí)現(xiàn)的邏輯代碼放入到Model類中,在對類實(shí)例化之前進(jìn)行判斷攔截,這樣,文件中只要操作Model類,則必先進(jìn)行是否需要先進(jìn)行登錄,才能操作。實(shí)現(xiàn)流程圖如圖2:

        1.3 相關(guān)知識點(diǎn)

        (1)PHP

        PHP即“超文本預(yù)處理器”,是一種通用開源腳本語言。PHP是在服務(wù)器端執(zhí)行的腳本語言,與C語言類似,是常用的網(wǎng)站編程語言。PHP獨(dú)特的語法混合了C、Java、Perl以及 PHP 自創(chuàng)的語法。利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。

        (2)Session是什么

        Session是瀏覽器與服務(wù)器之間的一次交互會話,即從瀏覽器與服務(wù)器之間的對話。瀏覽器打開表示會話進(jìn)行,瀏覽器關(guān)閉則會話結(jié)束。會話結(jié)束后將無法讀取剛剛會話的Session文件里面的信息。

        (3)X-admin后臺管理模板框架

        1)X-admin是基于layui的輕量級前端后臺管理框架,簡單,兼容性好,永久免費(fèi),面向所有層次的前后端程序員。

        2)內(nèi)置功能豐富:Xadmin作為一款全面的后臺管理系統(tǒng)框架,不僅提供了基本的CRUD功能,還內(nèi)置了豐富的插件功能。包括數(shù)據(jù)導(dǎo)出、書簽、圖表、數(shù)據(jù)添加向?qū)Ъ皥D片相冊等多種擴(kuò)展功能。

        3)后臺實(shí)際就是對表的增刪改查,從某種程度上來講不依賴于業(yè)務(wù)邏輯,又可以在后臺對每張表管理時(shí)加入自己的后臺邏輯,這也是它優(yōu)于很多后臺管理系統(tǒng)的原因。

        (4)Model類

        Model類是一個(gè)通過PHP面向?qū)ο蠹夹g(shù)能夠?qū)崿F(xiàn)對數(shù)據(jù)庫進(jìn)行CRUD操作的模型類。PHP框架如ThinkPHP、Laravel框架都有操作數(shù)據(jù)庫的模型類-3。

        2具體實(shí)現(xiàn)

        2.1 網(wǎng)站文件基本結(jié)構(gòu)及說明

        網(wǎng)站虛擬目錄

        |--APP

        |--Admin ? ? ? ? ? 后臺文件夾

        |--login.html ? ? ?登錄頁面

        |--.....

        |--Home ? ? ? ? ? 前端文件夾

        |--config.php ? ? ? ? 配置文件

        |--functions.php ? ? ? 網(wǎng)站公共函數(shù)文件

        |--index.html ? ? ? ? 網(wǎng)站首頁

        文件夾說明:

        Admin后臺文件夾存放網(wǎng)站所有后臺文件及子文件夾;

        Home網(wǎng)站前端文件夾,存放網(wǎng)站前端所有文件夾及子文件夾;

        Config.php文件是整個(gè)網(wǎng)站的配置信息文件;

        Functions.php文件是整個(gè)網(wǎng)站的公共函數(shù)文件[4];

        2.2 代碼實(shí)現(xiàn)

        (1) 簡易版實(shí)現(xiàn)

        Functions.php編寫登錄判斷函數(shù)isLogin( )

        /**

        * 函數(shù)名:isLogin

        * 作用:判斷是否登錄

        * 返回值:不成功,則返回到登錄頁面

        *

        */

        function isLogin(){

        if(empty($_SESSION[‘username])){

        //表示沒有經(jīng)過登錄頁面

        echo ??;

        exit;

        }else {

        //表示已經(jīng)登錄

        // 改變默認(rèn)名稱為PHPSESSID的cookie的有效期

        setcookie(session_name(),session_id(),time() + COOKIE_LIFETIME,”/”);

        }

        }

        (2) 后臺需要進(jìn)行登錄判斷的文件代碼操作

        以添加文章文件article-add.php為例

        <?php

        // 實(shí)現(xiàn)博文的添加

        $datas = $_POST;//獲取傳遞過來的文件信息

        $datas[‘pubdate] = time();

        include ?../../../config.php?;//加載配置文件

        isLogin();//調(diào)用登錄判斷函數(shù)進(jìn)行是否登錄判斷

        $result = DB::table(“articles”)->insert($datas);//成功返回true,失敗返回false

        echo $result;

        2.3 高級版實(shí)現(xiàn)

        Config.php文件防翻墻文件夾設(shè)置

        $root = $_SERVER[‘DOCUMENT_ROOT];

        $cDir = str_replace(“\\”, “/”, __DIR__);//將斜杠進(jìn)行替換:

        $root = str_replace($root, “”, $cDir);

        define(“ROOT”, $root);//網(wǎng)站根目錄設(shè)置成常量ROOT

        //防翻墻攔截文件夾配置

        $middleware = [

        ?allow” => [ROOT.”/APP/admin”],//需要攔截的文件夾 ?后臺文件夾

        ?except” => [ROOT.”/APP/admin/action/login.php”]//排除之外不需攔截的文件或文件

        ];

        define(“MIDDLEWARE”,$middleware);//設(shè)置攔截文件夾數(shù)組常量

        (1)Model類編寫middleware方法實(shí)現(xiàn)對文件夾下的php文件進(jìn)行攔截

        /**

        * 該方法實(shí)現(xiàn)對文件夾下的php文件進(jìn)行攔截,沒有通過返回到登錄頁面

        *

        */

        private static function middleware(){

        $runFile = strtolower($_SERVER[‘PHP_SELF]);//獲取正在運(yùn)行的文件 strtolower:作用將字符串轉(zhuǎn)換成小寫

        $flag1 = $flag2 = false;

        //判斷正在運(yùn)行的文件是否是排除之外

        foreach(MIDDLEWARE[‘except] as $key => $value){

        $v = strtolower($value);//轉(zhuǎn)成小寫

        if(strpos($runFile,$v) !== false){

        $flag1 = true;//表示正在運(yùn)行的文件是排除之外的文件

        break;//提前退出循環(huán)

        }

        }

        if (!$flag1){

        //表示不是排除之外才會執(zhí)行到這里

        foreach(MIDDLEWARE[‘a(chǎn)llow] as $key => $value){

        $v = strtolower($value);

        if (strpos($runFile,$v) !== false){

        // ? ? ? ? ? ? ? ? ? ?表示正在運(yùn)行的文件是需要攔截的文件

        $flag2 = true;

        break;//跳出循環(huán)

        }

        }

        }

        if($flag2 && empty($_SESSION[‘username])){

        //表示是需要攔截的文件,同時(shí)又沒登錄 ?需要返回到登錄頁面

        echo ??;

        exit;

        }

        }

        3攔截運(yùn)行效果

        如果在沒有登錄的情況下直接登錄后臺頁面,則會提示返回登錄頁面[5]。

        運(yùn)行效果圖見圖3:

        4結(jié)束語

        網(wǎng)站安全是一個(gè)網(wǎng)站能否正常上線必須考慮的問題,特別是后臺的安全是重中之重。防翻墻只是保證后臺安全的一個(gè)。本文通過兩種方法設(shè)計(jì)及實(shí)現(xiàn)了防翻墻。簡便實(shí)現(xiàn)法操作簡單,但是不夠靈活;高級版實(shí)現(xiàn)復(fù)雜,但是使用方便,各有優(yōu)缺點(diǎn)。

        參考文獻(xiàn)

        [1] 張世雄.PHP操作MySql數(shù)據(jù)庫的面向?qū)ο竽P皖悓?shí)現(xiàn)[J].清遠(yuǎn)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2018,11(6):45-48.

        [2] 曹俊.軟件項(xiàng)目健康跟蹤控制管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2020(22):49-51.

        [3] 趙越超.基于JavaEE的小區(qū)物業(yè)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2020,10(7):107-110.

        [4] 程文清.基于B/S架構(gòu)的開放實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中國現(xiàn)代教育裝備,2020,(13):31-33.

        [5] 黃中海.高校學(xué)生工作信息在線采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2020,19(7):144-147.

        作者簡介

        張世雄(1977-),男;畢業(yè)院校:華中科技大學(xué),專業(yè):軟件工程,學(xué)歷:碩士,現(xiàn)就職單位:清遠(yuǎn)職業(yè)技術(shù)學(xué)院,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。

        日本a级免费大片网站 | 亚洲一区视频在线| 日本激情视频一区在线观看| 国产精品一区二区夜色不卡| 国产裸体美女永久免费无遮挡| 国产亚洲av综合人人澡精品| 本道无码一区二区久久激情| 国产一区二区在三区在线观看| 亚洲中文字幕舔尻av网站| 女人喷潮完整视频| 亚洲成人777| 中文字幕久区久久中文字幕| 亚洲av午夜一区二区三| 蜜桃视频无码区在线观看| 日韩h网站| 青青草最新在线视频观看| 日本一区二区视频免费在线看| 中文字幕一区二区人妻性色| 亚洲国产精品嫩草影院久久| 中文亚洲第一av一区二区| 亚洲人成在线播放网站| 男女下面进入的视频| 韩国一级成a人片在线观看| 天堂av国产一区二区熟女人妻| 午夜精品久久久久久久| 中文字幕无码不卡一区二区三区| 亚洲综合网站精品一区二区| 中文字幕午夜精品一区二区三区| 草草地址线路①屁屁影院成人| 久久夜色撩人精品国产小说 | 五月婷婷激情综合| 一区二区三区视频偷拍| 日本伊人精品一区二区三区 | 国产精品久久婷婷婷婷| 麻豆精品在线视频观看| 欧美人与禽z0zo牲伦交| 狠狠久久久久综合网| 久久国产劲爆内射日本| 多毛小伙内射老太婆| 日产精品久久久久久久性色| 精品亚洲一区二区99|