版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二
安全的登錄認(rèn)證Web安全與防護(hù)本任務(wù)要點(diǎn)學(xué)習(xí)目標(biāo)登錄認(rèn)證步驟登錄頁面表單創(chuàng)建驗(yàn)證碼實(shí)現(xiàn)熟悉登錄認(rèn)證原理及實(shí)現(xiàn)方法。能夠?qū)崿F(xiàn)基本的登錄認(rèn)證功能。任務(wù)一
登錄認(rèn)證功能實(shí)現(xiàn)目錄CONTENTS01/了解登錄認(rèn)證02/創(chuàng)建登錄頁面03/判斷登錄狀態(tài)04/增加驗(yàn)證碼了解登錄認(rèn)證01什么是登錄認(rèn)證?登錄認(rèn)證是在Web應(yīng)用程序中實(shí)現(xiàn)身份驗(yàn)證和授權(quán)的過程。在用戶嘗試登錄到Web應(yīng)用程序時(shí),登錄認(rèn)證將驗(yàn)證用戶的身份并授予相應(yīng)的訪問權(quán)限。通常,登錄認(rèn)證包括兩個(gè)步驟:身份驗(yàn)證和授權(quán)。身份驗(yàn)證是確定用戶是否是所聲稱的用戶的過程。通常,在Web應(yīng)用程序中,這是通過用戶名和密碼的組合來驗(yàn)證用戶的身份。用戶提供用戶名和密碼,然后Web應(yīng)用程序?qū)z查這些憑據(jù)是否與已知的憑據(jù)匹配。如果驗(yàn)證成功,用戶就被認(rèn)為是合法用戶。授權(quán)是在確定用戶的身份后確定用戶的訪問權(quán)限。授權(quán)通?;谟脩舻纳矸莺徒巧?,確定用戶可以訪問哪些資源。授權(quán)可以限制用戶訪問特定頁面、數(shù)據(jù)或功能。了解登錄認(rèn)證01驗(yàn)證用戶
憑據(jù)創(chuàng)建登錄頁面確認(rèn)用戶
權(quán)限登錄狀態(tài)存儲在Web應(yīng)用程序中,常用的身份驗(yàn)證方法包括基于用戶密碼的身份驗(yàn)證、基于證書的身份驗(yàn)證、基于令牌的身份驗(yàn)證等。這些方法各有優(yōu)缺點(diǎn),根據(jù)應(yīng)用程序的需求和安全要求選擇合適的身份驗(yàn)證方法非常重要。頁面允許用戶輸入他們的用戶名和密碼使用數(shù)據(jù)庫中存儲的憑據(jù)信息根據(jù)用戶的角色和訪問權(quán)限確定用戶的訪問權(quán)限后續(xù)頁面訪問時(shí)可以使用此狀態(tài)進(jìn)行授權(quán)創(chuàng)建登錄頁面02在實(shí)現(xiàn)登錄認(rèn)證的第一步是創(chuàng)建登錄頁面,該頁面允許用戶輸入他們的用戶名和密碼。通過HTML代碼創(chuàng)建用于用戶輸入的基本表單包含:用戶名輸入框密碼輸入框驗(yàn)證碼輸入框登錄按鈕
通過按提交按鈕將用戶輸入的信息發(fā)送至check.php頁面檢查用戶輸入是否正確。完整代碼見教材2.1.2admin/login.php判斷登錄狀態(tài)03為了防止未授權(quán)訪問,用戶在訪問index.php時(shí)應(yīng)該判斷用戶是否登錄并且為管理員用戶。在博客系統(tǒng)中admin/index.php中增加如下代碼:該代碼的功能是引入admin/header.php文件。我們在該文件中判斷登錄用戶是否為管理員,如果不為管理就跳轉(zhuǎn)到登錄頁防止非管理員訪問后臺頁面。代碼如下:完整代碼見教材2.1.3當(dāng)$_SESSION['is_admin']為False的時(shí)候說明用戶不為管理員則跳轉(zhuǎn)到admin/login.php頁面強(qiáng)制要求登錄才能訪問。admin/index.phpadmin/header.php判斷登錄狀態(tài)03完整代碼見教材2.1.3admin/check.php增加對用戶提交表單信息的校驗(yàn),以確認(rèn)用戶身份信息是否正確,首先從請求中獲取用戶輸入的用戶名、密碼以及驗(yàn)證碼首先獲取了用戶通過表單提交的用戶名和密碼,并進(jìn)行了初步的驗(yàn)證,如果其中有任意一個(gè)為空,則直接輸出錯(cuò)誤提示信息并跳轉(zhuǎn)回登錄頁面。然后獲取了用戶通過表單提交的驗(yàn)證碼,并將其轉(zhuǎn)換為小寫形式并對驗(yàn)證碼進(jìn)行驗(yàn)證,如果為空或不正確,則輸出錯(cuò)誤提示信息并跳轉(zhuǎn)回登錄頁面。接下來將用戶輸入的密碼進(jìn)行了MD5加密。通過SQL語句查詢數(shù)據(jù)庫,以檢查用戶名是否存在。如果存在,則再次查詢數(shù)據(jù)庫,以檢查用戶名和密碼是否匹配。如果匹配成功,則將會話中的$is_admin變量設(shè)置為true,并輸出登錄成功提示信息,并跳轉(zhuǎn)到主頁面。如果匹配失敗,則輸出相應(yīng)的錯(cuò)誤提示信息,并跳轉(zhuǎn)回登錄頁面。增加驗(yàn)證碼04驗(yàn)證碼(CAPTCHA)是一種計(jì)算機(jī)程序,用于判斷訪問網(wǎng)站的用戶是否是人類或惡意程序。驗(yàn)證碼系統(tǒng)可以生成不同類型的圖形、文字或聲音的測試來識別用戶身份,以幫助網(wǎng)站防止自動化攻擊和濫用。驗(yàn)證碼根據(jù)使用的技術(shù)和實(shí)現(xiàn)方式的不同,可以分為以下幾種類型:圖像驗(yàn)證碼數(shù)學(xué)計(jì)算驗(yàn)證碼聲音驗(yàn)證碼滑動驗(yàn)證碼驗(yàn)證碼的主要目的是保護(hù)網(wǎng)站和用戶的信息免受惡意攻擊和濫用。許多自動化攻擊和濫用都是通過機(jī)器人和腳本來進(jìn)行的,這些腳本可以自動化訪問網(wǎng)站并進(jìn)行各種活動,例如發(fā)送垃圾郵件、惡意軟件分發(fā)、網(wǎng)絡(luò)爬蟲等等。增加驗(yàn)證碼04以圖像驗(yàn)證碼為例增加驗(yàn)證碼功能,防止惡意程序攻擊。在博客系統(tǒng)源文件admin/login.php中增加如下代碼:admin/login.php在用戶訪問該頁面時(shí)去請求admin/code.php頁面,獲取一個(gè)新的驗(yàn)證碼。在博客系統(tǒng)源文件admin/code.php中實(shí)現(xiàn)了如下邏輯:
首先,通過調(diào)用random()函數(shù)生成一個(gè)4位隨機(jī)字符串,用于作為驗(yàn)證碼。然后,定義了驗(yàn)證碼圖片的寬度和高度,以及需要?jiǎng)?chuàng)建的圖層的圖片格式為image/png。接著,創(chuàng)建一個(gè)指定大小的圖層,設(shè)置背景色、模糊點(diǎn)顏色和字體顏色。通過隨機(jī)繪制許多點(diǎn)來創(chuàng)建背景的模糊效果。使用imagestring函數(shù)將驗(yàn)證碼字符串繪制到圖像上,同時(shí)在圖像周圍繪制矩形。最后,輸出圖像并銷毀圖層對象,將驗(yàn)證碼字符串存儲到PHPSession變量$_SESSION['vertify']中以供后續(xù)驗(yàn)證使用。完整代碼見教材2.1.4課堂實(shí)踐一、任務(wù)名稱:登錄認(rèn)證功能實(shí)現(xiàn)二、任務(wù)內(nèi)容:編輯博客系統(tǒng)源碼實(shí)現(xiàn)登錄認(rèn)證功能,包含表單頁面中用戶名、密碼、驗(yàn)證碼的交互以及后端校驗(yàn)邏輯。三、工具需求:PHP開發(fā)環(huán)境四、任務(wù)要求:完成實(shí)踐練習(xí)后,由老師檢查完成情況。課堂思考一、服務(wù)端是如何保存用戶登錄狀態(tài)的?二、滑動驗(yàn)證碼是怎么實(shí)現(xiàn)的?三、為什么要用MD5加密用戶提交的密碼?四、用戶提交的表單信息為什么存儲在$POST變量中?五、登錄認(rèn)證流程中有哪些可能存在的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022中學(xué)年度期末工作總結(jié)
- 2022年經(jīng)典的噪聲污染防治總結(jié)工作方案
- 項(xiàng)目設(shè)備物資采購公開招標(biāo)文件范本
- 電影電視導(dǎo)演與制片培訓(xùn)
- 中國自卸式電磁除鐵器行業(yè)市場全景調(diào)研及未來趨勢研判報(bào)告
- 智研咨詢發(fā)布-中國中式線香行業(yè)產(chǎn)業(yè)鏈全景分析及發(fā)展趨勢預(yù)測報(bào)告
- 2024年日喀則客運(yùn)從業(yè)資格證模擬考試題庫下載
- 鄉(xiāng)鎮(zhèn)年度基層民生工作總結(jié)及工作思路
- 建筑施工工地合同范例
- 上海汽車維修合同范例
- 江蘇省蘇州市蘇州園區(qū)五校聯(lián)考2024-2025學(xué)年上學(xué)期八年級數(shù)學(xué)期中試題
- 顱骨缺損護(hù)理
- 2023年齊齊哈爾富??h招聘警務(wù)輔助人員筆試真題
- 2024-2030年瓷磚行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2024年度一級注冊消防工程師考試復(fù)習(xí)題庫及答案(共1000題)
- 賓館改造工程冬季施工方案
- 2024年餐廳服務(wù)員(高級)職業(yè)鑒定理論考試題庫(含答案)
- 高一學(xué)生考試備戰(zhàn)-考試輔導(dǎo)老師
- GB/T 16915.2-2024家用和類似用途固定式電氣裝置的開關(guān)第2-1部分:電子控制裝置的特殊要求
- 第六單元(單元測試)-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 《人工智能基礎(chǔ)》課件-AI的前世今生:她從哪里來
評論
0/150
提交評論