亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > PHP基于timestamp和nonce實現的防止重放攻擊方案分析

PHP基于timestamp和nonce實現的防止重放攻擊方案分析

熱門標簽:外呼系統撥打暫時無法接通 高德地圖標注家 哪里辦理400電話 江西手機自動外呼防封系統是什么 廣州防封卡外呼系統多少錢一個月 長春人工外呼系統服務商 廣東地市地圖標注 仁和怎么申請400開頭的電話 怎么向銷售公司推銷外呼系統

本文實例講述了PHP基于timestamp和nonce實現的防止重放攻擊方案。分享給大家供大家參考,具體如下:

以前總是通過timestamp來防止重放攻擊,但是這樣并不能保證每次請求都是一次性的。今天看到了一篇文章介紹的通過nonce(Number used once)來保證一次有效,感覺兩者結合一下,就能達到一個非常好的效果了。

重放攻擊是計算機世界黑客常用的攻擊方式之一,所謂重放攻擊就是攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用于身份認證過程。

首先要明確一個事情,重放攻擊是二次請求,黑客通過抓包獲取到了請求的HTTP報文,然后黑客自己編寫了一個類似的HTTP請求,發送給服務器。也就是說服務器處理了兩個請求,先處理了正常的HTTP請求,然后又處理了黑客發送的篡改過的HTTP請求。

基于timestamp的方案

每次HTTP請求,都需要加上timestamp參數,然后把timestamp和其他參數一起進行數字簽名。因為一次正常的HTTP請求,從發出到達服務器一般都不會超過60s,所以服務器收到HTTP請求之后,首先判斷時間戳參數與當前時間相比較,是否超過了60s,如果超過了則認為是非法的請求。

假如黑客通過抓包得到了我們的請求url:
http://koastal.site/index/Info?uid=ZX07stime=1480862753sign=80b886d71449cb33355d017893720666

其中

$sign=md5($uid.$token.$stime);
// 服務器通過uid從數據庫中可讀出token

一般情況下,黑客從抓包重放請求耗時遠遠超過了60s,所以此時請求中的stime參數已經失效了。
如果黑客修改stime參數為當前的時間戳,則sign參數對應的數字簽名就會失效,因為黑客不知道token值,沒有辦法生成新的數字簽名。

但這種方式的漏洞也是顯而易見的,如果在60s之內進行重放攻擊,那就沒辦法了,所以這種方式不能保證請求僅一次有效。

基于nonce的方案

nonce的意思是僅一次有效的隨機字符串,要求每次請求時,該參數要保證不同,所以該參數一般與時間戳有關,我們這里為了方便起見,直接使用時間戳的16進制,實際使用時可以加上客戶端的ip地址,mac地址等信息做個哈希之后,作為nonce參數。
我們將每次請求的nonce參數存儲到一個“集合”中,可以json格式存儲到數據庫或緩存中。
每次處理HTTP請求時,首先判斷該請求的nonce參數是否在該“集合”中,如果存在則認為是非法請求。

假如黑客通過抓包得到了我們的請求url:
http://koastal.site/index/Info?uid=ZX07nonce=58442c21sign=80b886d71449cb33355d017893720666

其中

$sign=md5($uid.$token.$nonce);
// 服務器通過uid從數據庫中可讀出token

nonce參數在首次請求時,已經被存儲到了服務器上的“集合”中,再次發送請求會被識別并拒絕。
nonce參數作為數字簽名的一部分,是無法篡改的,因為黑客不清楚token,所以不能生成新的sign。

這種方式也有很大的問題,那就是存儲nonce參數的“集合”會越來越大,驗證nonce是否存在“集合”中的耗時會越來越長。我們不能讓nonce“集合”無限大,所以需要定期清理該“集合”,但是一旦該“集合”被清理,我們就無法驗證被清理了的nonce參數了。也就是說,假設該“集合”平均1天清理一次的話,我們抓取到的該url,雖然當時無法進行重放攻擊,但是我們還是可以每隔一天進行一次重放攻擊的。而且存儲24小時內,所有請求的“nonce”參數,也是一筆不小的開銷。

基于timestamp和nonce的方案

那我們如果同時使用timestamp和nonce參數呢?
nonce的一次性可以解決timestamp參數60s的問題,timestamp可以解決nonce參數“集合”越來越大的問題。

我們在timestamp方案的基礎上,加上nonce參數,因為timstamp參數對于超過60s的請求,都認為非法請求,所以我們只需要存儲60s的nonce參數的“集合”即可。

假如黑客通過抓包得到了我們的請求url:
http://koastal.site/index/Info?uid=ZX07stime=1480862753nonce=58442c21sign=80b886d71449cb33355d017893720666

其中

$sign=md5($uid.$token.$stime.$nonce);
// 服務器通過uid從數據庫中可讀出token

如果在60s內,重放該HTTP請求,因為nonce參數已經在首次請求的時候被記錄在服務器的nonce參數“集合”中,所以會被判斷為非法請求。超過60s之后,stime參數就會失效,此時因為黑客不清楚token的值,所以無法重新生成簽名。

綜上,我們認為一次正常的HTTP請求發送不會超過60s,在60s之內的重放攻擊可以由nonce參數保證,超過60s的重放攻擊可以由stime參數保證。

因為nonce參數只會在60s之內起作用,所以只需要保存60s之內的nonce參數即可。

我們并不一定要每個60s去清理該nonce參數的集合,只需要在新的nonce到來時,判斷nonce集合最后一次修改時間,超過60s的話,就清空該集合,存放新的nonce參數集合。其實nonce參數集合可以存放的時間更久一些,但是最少是60s。
隨機數集合可以根據業務場景采用定期清理或根據大小自動清理的方案,例如該接口每秒的請求數最高為1000,則60s內的請求數量最多為1500*60=90000,則我們在每次請求后檢查集合大小是否超過90000,若超高該數量則清空。

驗證流程

//判斷stime參數是否有效
if( $now - $stime > 60){
  die("請求超時");
}
//判斷nonce參數是否在“集合”已存在
if( in_array($nonce,$nonceArray) ){
  die("請求僅一次有效");
}
//驗證數字簽名
if ( $sign != md5($uid.$token.$stime.$nonce) ){
  die("數字簽名驗證失敗");
}
/*
if( $now - $nonceArray->lastModifyTime > 60 ){
  $nonceArray = null;
}
$nonceArray.push($nonce);
*/
//處理隨機數
$key = 'nonce'+$uid;
if($redis->sismember($key,$nonce) === true){
  die('拒絕重放攻擊請求');
}
if($redis->scard($key) > 90000){
  $redis->del($key);
}
$redis->sadd($key,$nonce);
//重放攻擊檢查完成

參考文章:

http://www.360doc.com/content/14/0116/16/834950_345740386.shtml

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php程序設計安全教程》、《php安全過濾技巧總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • JWT + ASP.NET MVC時間戳防止重放攻擊詳解
  • .NET添加時間戳防止重放攻擊
  • PHP中防止SQL注入攻擊和XSS攻擊的兩個簡單方法
  • php防止CC攻擊代碼 php防止網頁頻繁刷新
  • php防止sql注入示例分析和幾種常見攻擊正則表達式
  • php實現cc攻擊防御和防止快速刷新頁面示例
  • php防止網站被攻擊的應急代碼
  • PHP中通過語義URL防止網站被攻擊的方法分享
  • PHP實現的防止跨站和xss攻擊代碼【來自阿里云】
  • 淺析PHP程序防止ddos,dns,集群服務器攻擊的解決辦法
  • PHP防止注入攻擊實例分析
  • PHP如何防止XSS攻擊與XSS攻擊原理的講解

標簽:湘西 文山 黔東 海北 惠州 梅河口 濮陽 廈門

巨人網絡通訊聲明:本文標題《PHP基于timestamp和nonce實現的防止重放攻擊方案分析》,本文關鍵詞  PHP,基于,timestamp,和,nonce,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP基于timestamp和nonce實現的防止重放攻擊方案分析》相關的同類信息!
  • 本頁收集關于PHP基于timestamp和nonce實現的防止重放攻擊方案分析的相關信息資訊供網民參考!
  • 推薦文章
    国产精品自拍在线观看| 亚洲精品久久久中文字| 97视频免费在线| 高清一级做a爱过程不卡视频| 日韩avdvd| 精品久久久久久影院免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产成人精品综合在线| 亚洲女人国产香蕉久久精品 | 国产不卡在线观看| 毛片的网站| 久久国产精品只做精品| 二级特黄绝大片免费视频大片| 欧美激情一区二区三区在线| 久久99青青久久99久久| 免费国产一级特黄aa大片在线| 美国一区二区三区| 亚洲第一色在线| 国产网站免费观看| 可以免费看污视频的网站| 国产国语在线播放视频| 沈樵在线观看福利| 青青青草影院 | 日本伦理网站| 精品国产一区二区三区久久久蜜臀 | 精品国产一区二区三区久久久蜜臀| 成人影视在线观看| 精品久久久久久中文| 日韩欧美一二三区| 日本免费乱理伦片在线观看2018| 日本特黄特色aaa大片免费| 日韩在线观看视频免费| 99色视频| 免费国产在线观看不卡| 香蕉视频三级| 色综合久久手机在线| 精品视频在线看| 日韩在线观看视频网站| 国产麻豆精品免费视频| 亚洲 男人 天堂| 国产亚洲精品成人a在线| 九九精品影院| 可以免费在线看黄的网站| 黄视频网站免费观看| 一本伊大人香蕉高清在线观看| 美女免费精品视频在线观看| 人人干人人草| 国产国语对白一级毛片| 国产a一级| 国产不卡高清| 九九九网站| 日韩在线观看免费完整版视频| 亚欧视频在线| 日本特黄特黄aaaaa大片| 一本高清在线| 日韩av成人| 高清一级做a爱过程不卡视频| 日韩一级黄色| 欧美大片一区| 美女免费毛片| 国产一区二区精品久久91| 国产成人女人在线视频观看 | a级黄色毛片免费播放视频| 91麻豆精品国产高清在线| 日本伦理片网站| 亚洲 国产精品 日韩| 国产91丝袜高跟系列| 成人免费一级毛片在线播放视频| 欧美激情一区二区三区视频| 毛片成人永久免费视频| 欧美爱色| 精品视频在线看| 国产视频一区二区在线观看| 精品在线视频播放| 可以在线看黄的网站| 亚洲女初尝黑人巨高清在线观看| 日韩专区亚洲综合久久| a级毛片免费观看网站| 亚洲精品久久久中文字| 色综合久久天天综合绕观看| 青青久久精品| 成人影视在线播放| 日韩中文字幕在线观看视频| 国产成人啪精品| 日韩一级精品视频在线观看| 国产原创中文字幕| 国产a视频| 日本在线不卡免费视频一区| 91麻豆国产| 成人高清视频在线观看| 欧美国产日韩精品| 欧美激情伊人| 99久久精品国产高清一区二区| 精品视频在线观看视频免费视频| 亚洲www美色| 国产亚洲精品成人a在线| 国产不卡高清在线观看视频| 亚洲第一页色| 青青久久精品| 99热精品在线| 国产伦理精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 91麻豆国产| 精品久久久久久中文| 国产视频久久久久| 成人影视在线播放| 欧美激情一区二区三区在线 | 美女免费毛片| 国产视频一区二区在线观看 | 国产一级生活片| 日本伦理片网站| 尤物视频网站在线观看| 你懂的福利视频| 高清一级做a爱过程不卡视频| 欧美大片a一级毛片视频| 中文字幕一区二区三区 精品| 欧美大片aaaa一级毛片| 精品在线观看一区| 二级特黄绝大片免费视频大片| 国产亚洲男人的天堂在线观看| 国产麻豆精品免费视频| 日韩专区在线播放| 成人在免费观看视频国产| 精品国产三级a| 日韩在线观看网站| 成人高清免费| 日本伦理片网站| 日韩在线观看网站| 国产伦精品一区三区视频| 麻豆网站在线看| 999久久66久6只有精品| 99久久视频| 欧美激情一区二区三区在线| 成人免费观看的视频黄页| 欧美激情在线精品video| 四虎影视久久久| 欧美大片毛片aaa免费看| 99热精品在线| 91麻豆精品国产自产在线| 国产伦理精品| 国产不卡在线观看| 青青青草影院| 欧美国产日韩精品| 国产亚洲男人的天堂在线观看| 国产视频在线免费观看| 二级片在线观看| 成人高清护士在线播放| 日本特黄特色aaa大片免费| 香蕉视频三级| 色综合久久手机在线| 999精品在线| 日韩免费在线观看视频| 成人高清视频免费观看| 一级女人毛片人一女人| 日本在线播放一区| 国产网站免费| 久久精品免视看国产明星| 国产韩国精品一区二区三区| 国产一区二区精品久久91| 国产成人精品影视| 日韩在线观看免费完整版视频| 一本高清在线| 夜夜操天天爽| 亚洲 国产精品 日韩| 黄视频网站免费看| 日本伦理黄色大片在线观看网站| 中文字幕97| 天天做日日干| 欧美激情伊人| 国产高清在线精品一区a| 国产一区国产二区国产三区| 黄色短视频网站| 美女免费精品高清毛片在线视 | 日韩av片免费播放| 黄色短视频网站| 国产视频一区二区在线观看 | 国产伦久视频免费观看 视频| 国产不卡在线观看视频| 亚洲天堂免费观看| 你懂的福利视频| 日韩av东京社区男人的天堂| 国产成人精品影视| 国产不卡高清在线观看视频| 日本免费乱理伦片在线观看2018| 毛片电影网| 国产91精品系列在线观看| 欧美国产日韩在线| 成人影视在线播放| 国产成a人片在线观看视频| 欧美一级视频免费观看| 亚洲天堂免费| 久久精品欧美一区二区| 天堂网中文字幕| 青青青草影院 | 久久精品人人做人人爽97| 国产精品自拍亚洲| 99热精品一区| 青青久久网| 99久久精品费精品国产一区二区| 二级特黄绝大片免费视频大片|