国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全

這篇具有很好參考價值的文章主要介紹了小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

知識點(diǎn)

1.后臺驗(yàn)證-登錄用戶邏輯安全-怎么去判定用戶登陸成功

2.后臺驗(yàn)證-COOKIE&SESSION

3.后臺驗(yàn)證-驗(yàn)證碼·&萬能密碼等

思路:

1.發(fā)送登錄請求 賬號 密碼

2.接收賬號密碼

3.判斷賬號密碼的準(zhǔn)確性

正確 成功登陸->跳轉(zhuǎn)成功頁面

錯誤 失敗登錄->重新登陸

后臺管理系統(tǒng)有多個文件頁面,為了方便,一般會選用cookie或session進(jìn)行驗(yàn)證

cookie:身份驗(yàn)證 存儲到客戶端瀏覽器內(nèi)

cookie安全:cookie修改 偽造 盜取

session:身份驗(yàn)證 存儲到服務(wù)端服務(wù)器內(nèi)

session安全:會話劫持(session劫持)

?cookie驗(yàn)證

php-解決亂碼:header("Content-type: text/html; charset=utf-8");

賬號密碼存儲在syguestbook中的sy_adminuser中

①驗(yàn)證及跳轉(zhuǎn)

login.php

<form action="" method="POST">

    帳號:<input type="text" name="user">
    密碼:<input type="password" name="pass">
    <input type="submit" value="提交">

</form>
<?php
header("Content-Type:text/html;charset=utf-8");
include('../config/conn.php');
$username=$_POST['user'];
$password=md5($_POST['pass']);//數(shù)據(jù)庫里密碼經(jīng)過md5加密后存儲,所以這里要用md5加密
//echo $password;
$sql="select * from sy_adminuser where username='$username' and password='$password'";
echo $sql;
$result=mysql_query($sql,$conn);
if (mysql_num_rows($result)){           //mysql_num_rows判斷行數(shù)
    setcookie('user',$username,0,'/');
    header('Location: index.php');
}

index.php?

<?php
//先驗(yàn)證登錄。才進(jìn)行代碼的操作
header("Content-Type:text/html;charset=utf-8");
$user=$_COOKIE['user'];
if ($user==""){
    header("Location: login.php");
    exit;
}else{
    echo "歡迎登陸管理員首頁!";
}

?小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全此時右鍵頁面檢查會發(fā)現(xiàn)已有cookie

注意:header不能放在else里,否則會無線訪問導(dǎo)致錯誤?

?②在config目錄下創(chuàng)建login_check.php,內(nèi)容為index.php,然后在index.php里進(jìn)行包含

③案例:xhcms(熊海)

1.下載網(wǎng)站:訪問localhost/xhcms/insatll進(jìn)行相關(guān)配置

2.訪問localhost/xhcms/admin輸入任意賬號密碼登錄,地址變?yōu)閘ocalhost/xhcms/admin/?r=login

進(jìn)行更改,localhost/xhcms/admin/?r=index,顯然cookie沒有通過訪問不了,這時用burpsuite進(jìn)行抓包,更改Cookie為“user=1”

?小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?3.forward之后直接進(jìn)入控制臺小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?4.源代碼

小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?黑盒測試的話就在cookie上嘗試進(jìn)行修該

白盒測試(有代碼)直接設(shè)置

cookie盜取:cookie儲存在自己的瀏覽器里,如果這個時候別人利用xss漏洞獲取用戶cookie就可以直接登錄了

?Session驗(yàn)證

session驗(yàn)證相當(dāng)于打電話,登陸之后相當(dāng)于接了個電話,一旦關(guān)閉瀏覽器會話就終止了(每次登陸重新生成PHPSESSION)

會話劫持:人家正在瀏覽器瀏覽,沒有關(guān)閉,這時候獲取的session是有效的,就可以偽造登錄,如果他關(guān)了,那么獲取到的session就沒有任何價值

session登陸一次就產(chǎn)生一次

xxxSESSIONID-->是session驗(yàn)證,和cookie沒關(guān)系,跟它說拜拜了

1.session驗(yàn)證

<form action="" method="POST">

    帳號:<input type="text" name="user">
    密碼:<input type="password" name="pass">
    <input type="submit" value="提交">

</form>
<?php
header("Content-Type:text/html;charset=utf-8");
include('../config/conn.php');

$username=$_POST['user'];
$password=md5($_POST['pass']);
$captcha=$_POST['captcha'];
//echo $password;
$sql="select * from sy_adminuser where username='$username' and password='$password'";
echo $sql;
$result=mysql_query($sql,$conn);
while($row=mysql_fetch_array($result)){ //成功登錄后
    session_start();
    $_SESSION['username'] = $row['username'];//將查詢結(jié)果的數(shù)據(jù)進(jìn)行賦值
    //echo $_SESSION['username'];
    header('Location: index.php');
}

2.index.php

<?php

header("Content-Type:text/html;charset=utf-8");
session_start();
$username=$_SESSION['username'];
if($username=='admin'){
    echo '歡迎登陸管理員首頁!';
}else{
    echo "請登錄后訪問!";
}

?驗(yàn)證碼&萬能密碼

1.萬能密碼(sql注入)

萬能密碼大全-CSDN博客

小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?假或真=真? ? #為數(shù)據(jù)庫里的一個注釋符(相當(dāng)于忽略)

SELECT * FROM `sy_adminuser` where username='' or 1=1#  and password='dsadsaa';

小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全?

?小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?此時會直接進(jìn)入首頁

2.驗(yàn)證碼(防止爆破)

1.code.php

<?php
session_start();//必須位于腳本的最頂端
$image=imagecreatetruecolor(100, 30);//imagecreatetruecolor函數(shù)建一個真彩色圖像
//生成彩色像素
$bgcolor=imagecolorallocate($image, 255, 255, 255);//白色背景     imagecolorallocate函數(shù)為一幅圖像分配顏色
$textcolor=imagecolorallocate($image,0,0,255);//藍(lán)色文本
//填充函數(shù),xy確定坐標(biāo),color顏色執(zhí)行區(qū)域填充顏色
imagefill($image, 0, 0, $bgcolor);
$captch_code="";//初始空值

//該循環(huán),循環(huán)取數(shù)
for($i=0;$i<4;$i++){
    $fontsize=6;
    $x=($i*25)+rand(5,10);
    $y=rand(5,10);//位置隨機(jī)
    //  $fontcontent=$i>2?chr(rand(97,122)):chr(rand(65,90));//是小寫,否則是大寫
    $data='abcdefghijkmnpqrstuvwxyz3456789';
    $fontcontent=substr($data,rand(0,strlen($data)-1),1);
    $fontcolor=imagecolorallocate($image,rand(0,100),rand(0,100),rand(0,100));//隨機(jī)的rgb()值可以自己定

    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); //水平地畫一行字符串
    $captch_code.=$fontcontent;
}
$_SESSION['authcode']=$captch_code;//將變量保存再session的authcode變量中


//該循環(huán),循環(huán)畫背景干擾的點(diǎn)
for($m=0;$m<=600;$m++){

    $x2=rand(1,99);
    $y2=rand(1,99);
    $pointcolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($image,$x2,$y2,$pointcolor);// 水平地畫一串像素點(diǎn)
}

//該循環(huán),循環(huán)畫干擾直線
for ($i=0;$i<=10;$i++){
    $x1=rand(0,99);
    $y1=rand(0,99);
    $x2=rand(0,99);
    $y2=rand(0,99);
    $linecolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));
    imageline($image,$x1,$y1,$x2,$y2,$linecolor);//畫一條線段

}
header('content-type:image/png');
imagepng($image);
//銷毀
imagedestroy($image);
?>

2.f.php

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 簡單的表單提交代碼 -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>簡單驗(yàn)證碼的實(shí)現(xiàn)</title>
</head>
<body>
<form method="post" action="">
    帳號:<input type="text" name="user">
    密碼:<input type="password" name="pass">
    <p>驗(yàn)證碼圖片:<img src="code.php" onClick="this.src='code.php?nocache='+Math.random()" style="cursor:hand" alt="點(diǎn)擊換一張"/>點(diǎn)擊圖片可更換驗(yàn)證碼</p>
    <p>請輸入圖片中的內(nèi)容:<input type="text" name="authcode" value=""/></p>
    <p><input type="submit" width="20px" height=19px value="提交"></input></p>
</form>

</body>
</html>

<?php
include('config/conn.php');
header("Content-type: text/html; charset=utf-8");
// session 存值并匹配用戶輸入值
if (isset($_REQUEST['authcode'])) {
    session_start();
    if (strtolower($_REQUEST['authcode'])==$_SESSION['authcode']) {//strtolower轉(zhuǎn)化為小寫的函數(shù)
        echo"輸入正確!";
        $username=$_POST['user'];
        $password=md5($_POST['pass']);
        $sql="select * from sy_adminuser where username='$username' and password='$password'";
        $result=mysql_query($sql,$conn);
        if(mysql_num_rows($result)){
            $row=mysql_fetch_array($result);
            echo '成功!';
            session_start();
            $_SESSION['user']=$row['username'];//講查詢結(jié)果的數(shù)據(jù)進(jìn)行賦值
            header("Location: admin/add_news.php");
        }else{
            echo '失敗!';
            //header("Location: login.php");
        }
        # code...
    }
    else{
        echo"輸入錯誤!";
    }
    exit();
}
?>

?小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全,安全

?驗(yàn)證碼正確才能進(jìn)行下一步——看賬號密碼

?問題:驗(yàn)證碼復(fù)用

用burpsuite抓包,發(fā)送到repeater模塊,保持驗(yàn)證碼正確不斷更改密碼直到成功

這個過程就相當(dāng)于爆破

防爆破攻擊:-每一次登錄驗(yàn)證碼都要變,否則有沒有驗(yàn)證碼沒有區(qū)別

?文章來源地址http://www.zghlxwxcb.cn/news/detail-852115.html

到了這里,關(guān)于小迪安全 第15天:php開發(fā)-個人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 1.php開發(fā)-個人博客項(xiàng)目&文章功能顯示&數(shù)據(jù)庫操作&數(shù)據(jù)接收

    1.php開發(fā)-個人博客項(xiàng)目&文章功能顯示&數(shù)據(jù)庫操作&數(shù)據(jù)接收

    (2022-day12) 1-php入門,語法,提交 2-mysql 3-HTML+css ? 博客-文章閱讀功能初步實(shí)現(xiàn) 實(shí)現(xiàn)功能: 前端文章導(dǎo)航,點(diǎn)入內(nèi)容顯示,更改ID顯示不同內(nèi)容 實(shí)現(xiàn)步驟: 1-前端頁面顯示,編寫(html,css) 2-數(shù)據(jù)庫文章數(shù)據(jù)導(dǎo)入(mysql操作) 3-php操作mysql編寫-php變量提交 ? 搜:html橫向?qū)?/p>

    2024年01月20日
    瀏覽(40)
  • 2.php開發(fā)-個人博客項(xiàng)目&文件操作類&編輯器&上傳下載刪除讀寫

    2.php開發(fā)-個人博客項(xiàng)目&文件操作類&編輯器&上傳下載刪除讀寫

    ? ? ? 文件上傳類: form表單上傳文件 --文件上傳,--php接收,處理 action ---提交給誰處理 move函數(shù)移到文件 ---文件上傳漏洞?。。?! ——ueditor 實(shí)現(xiàn)編輯器的加載 上傳文件的方法: 用了編輯器,就要用編輯器去驗(yàn)證了(編輯器沒漏洞,那就沒漏洞——他有問題就有問題,

    2024年01月21日
    瀏覽(52)
  • 個人博客系統(tǒng) -- 登錄頁面添加圖片驗(yàn)證碼

    個人博客系統(tǒng) -- 登錄頁面添加圖片驗(yàn)證碼

    目錄 1. 功能展示 2. 前段代碼 3. 后端代碼 在登錄頁面添加驗(yàn)證碼登錄 1. 檢測到?jīng)]有輸入驗(yàn)證碼或者輸入的驗(yàn)證碼錯誤時,進(jìn)行彈窗提示.并且刷新當(dāng)前驗(yàn)證碼圖片 2. 點(diǎn)擊驗(yàn)證碼進(jìn)行刷新 ? 1. 添加驗(yàn)證碼標(biāo)簽,在密碼的下面,在login.html進(jìn)行修改 主要改動如下: 2. 在提交的函數(shù)中加

    2024年02月15日
    瀏覽(22)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點(diǎn)&CMS 審計實(shí)例

    小迪安全20WEB 攻防-PHP 特性&缺陷對比函數(shù)&CTF 考點(diǎn)&CMS 審計實(shí)例

    #研究對象 PHP代碼漏洞(代碼問題) # 知識點(diǎn): 1 、過濾函數(shù)缺陷繞過 2 、 CTF 考點(diǎn)與代碼審計 一、原理-缺陷函數(shù)-使用講解-本地 內(nèi)置函數(shù): 大部分是比較函數(shù)(過濾時使用的函數(shù)) (1)、== 與 === : 參考: PHP 淺談 == 和=== 中,數(shù)字和字符串比較的問題。_php 數(shù)字==字符串

    2024年01月19日
    瀏覽(32)
  • 【Node.js實(shí)戰(zhàn)】一文帶你開發(fā)博客項(xiàng)目之登錄(前置知識)

    【Node.js實(shí)戰(zhàn)】一文帶你開發(fā)博客項(xiàng)目之登錄(前置知識)

    個人簡介 ?? 個人主頁: 前端雜貨鋪 ???♂? 學(xué)習(xí)方向: 主攻前端方向,也會涉及到服務(wù)端 ?? 個人狀態(tài): 在校大學(xué)生一枚,已拿多個前端 offer(秋招) ?? 未來打算: 為中國的工業(yè)軟件事業(yè)效力n年 ?? 推薦學(xué)習(xí):??前端面試寶典 ??Vue2 ??Vue3 ??Vue2Vue3項(xiàng)目實(shí)戰(zhàn) ??

    2024年02月21日
    瀏覽(31)
  • 大學(xué)生PHP個人博客網(wǎng)站源碼 簡單個人動態(tài)網(wǎng)站設(shè)計模板 PHP畢業(yè)設(shè)計成品 學(xué)生PHP MYSQL日志管理系統(tǒng)網(wǎng)頁

    大學(xué)生PHP個人博客網(wǎng)站源碼 簡單個人動態(tài)網(wǎng)站設(shè)計模板 PHP畢業(yè)設(shè)計成品 學(xué)生PHP MYSQL日志管理系統(tǒng)網(wǎng)頁

    PHP MYSQL個人博客網(wǎng)站作品使用php+mysql開發(fā),系統(tǒng)編碼簡單,大學(xué)生PHP畢業(yè)設(shè)計水平。系統(tǒng)隨處可見增刪改查等基本操作,有批量刪除之功能,涉及的知識點(diǎn)比較全面。 數(shù)據(jù)庫共6張數(shù)據(jù)表,表之間有關(guān)聯(lián),設(shè)計合理;系統(tǒng)具有管理員和會員兩種用戶角色,管理員(即日志的所

    2024年02月12日
    瀏覽(30)
  • 個人博客網(wǎng)站實(shí)現(xiàn)微信掃碼登錄(新)

    個人博客網(wǎng)站實(shí)現(xiàn)微信掃碼登錄(新)

    ? ? ? ? 在不久之前(兩年前)我寫了一篇同名的博客《個人博客網(wǎng)站實(shí)現(xiàn)微信掃碼登錄(附源碼)》,當(dāng)時只是做一個記錄而已。但是沒想到會收到很多“猿友”的私聊, “代碼跑不起來”、“實(shí)現(xiàn)原理”、“測試網(wǎng)址訪問不了” 等各種問題。我也都一一解答了。趁著這

    2024年02月08日
    瀏覽(21)
  • php版?zhèn)€人博客管理系統(tǒng)源碼(文末有下載方式)

    php版?zhèn)€人博客管理系統(tǒng)源碼(文末有下載方式)

    大家好,?我是程序猿零壹。 給大家分享一款個人博客管理系統(tǒng),該系統(tǒng)使用php+mysql開發(fā),分為前臺和后臺兩部分。前臺實(shí)現(xiàn)了博客展示、友情鏈接、熱門標(biāo)簽、快捷搜索、關(guān)于作者等功能;后臺實(shí)現(xiàn)了博客管理、輪播管理、友鏈管理、標(biāo)簽管理、留言管理、權(quán)限管理等功能

    2024年02月11日
    瀏覽(24)
  • python爬蟲_selenuim登錄個人markdown博客站點(diǎn)

    python爬蟲_selenuim登錄個人markdown博客站點(diǎn)

    大家好,我是yma16,本文分享python使用selenuim登錄個人markdown博客站點(diǎn)。 該系列文章: python爬蟲_基本數(shù)據(jù)類型 python爬蟲_函數(shù)的使用 python爬蟲_requests的使用 python爬蟲_selenuim可視化質(zhì)量分 python爬蟲_django+vue3可視化csdn用戶質(zhì)量分 python爬蟲_正則表達(dá)式獲取天氣預(yù)報并用echarts折線

    2024年02月16日
    瀏覽(26)
  • 【個人博客系統(tǒng)網(wǎng)站】我的博客列表頁 · 增刪改我的博文 · 退出登錄 · 博客詳情頁 · 多線程應(yīng)用

    【個人博客系統(tǒng)網(wǎng)站】我的博客列表頁 · 增刪改我的博文 · 退出登錄 · 博客詳情頁 · 多線程應(yīng)用

    【JavaEE】進(jìn)階 · 個人博客系統(tǒng)(4) 用戶在網(wǎng)頁中編寫標(biāo)題和正文,點(diǎn)擊提交,選擇 輸入摘要 取消,繼續(xù)編寫文章 提交成功后,選擇 繼續(xù)寫文章 返回“我的博客列表頁” 1.1 約定前后端交互接口 后端: /art/publish 將前端傳遞過來的數(shù)據(jù)保存到數(shù)據(jù)庫 返回受影響行數(shù) 前端:

    2024年02月10日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包