php跨站攻擊實(shí)例分析
本文實(shí)例講述了php跨站攻擊的原理與防范技巧。分享給大家供大家參考。具體方法分析如下:
跨站攻擊就是利用程序上的一些細(xì)節(jié)或bug問(wèn)題進(jìn)行的,那么我們要如何耿防止跨站攻擊呢?下面就以一個(gè)防止跨站攻擊例子來(lái)說(shuō)明,希望對(duì)各位有幫助。
#demo for prevent csrf
/**
* enc
*/
function encrypt($token_time) {
return md5('!@##$@$$#%43' . $token_time);
}
$token_time = time();
$token = encrypt($token_time);
$expire_time = 10;
if ($_POST) {
$_token_time = $_POST['token_time'];
$_token = $_POST['token'];
if ((time() – $_token_time) > $expire_time) {
echo “expired token”;
echo “<br />”;
}
echo $_token;
echo “<br />”;
$_token_real = encrypt($_token_time);
echo $_token_real;
//compare $_token and $_token_real
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″ />
<title>test for csrf</title>
<meta http-equiv=”" content=”" />
</head>
<body>
<form method=”post” action=”">
<input type=”text” name=”text” id=”" value=”hello” />
<input type=”hidden” name=”token” id=”" value=”<?php echo $token ?>” />
<input type=”hidden” name=”token_time” id=”" value=”<?php echo $token_time ?>” />
<input type=”submit” name=”submit” id=”" value=”submit” />
</form>
</body>
</html>
通過(guò)在你的表單中包括驗(yàn)證碼,你事實(shí)上已經(jīng)消除了跨站請(qǐng)求偽造攻擊的風(fēng)險(xiǎn)??梢栽谌魏涡枰獔?zhí)行操作的任何表單中使用這個(gè)流程
當(dāng)然,將token 存儲(chǔ)到session更好,這里只是簡(jiǎn)單示例下
簡(jiǎn)單分析:
token防攻擊也叫作令牌,我們?cè)谟脩粼L問(wèn)頁(yè)面時(shí)就生成了一個(gè)隨機(jī)的token保存session與表單了,用戶提交時(shí)如果我們獲取到的token與session不一樣就可以提交重新輸入提交數(shù)據(jù)了
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- PHP和XSS跨站攻擊的防范
- 解析PHP跨站刷票的實(shí)現(xiàn)代碼
- php安全開發(fā) 添加隨機(jī)字符串驗(yàn)證,防止偽造跨站請(qǐng)求
- ThinkPHP2.x防范XSS跨站攻擊的方法
- PHP實(shí)現(xiàn)表單提交數(shù)據(jù)的驗(yàn)證處理功能【防SQL注入和XSS攻擊等】
- 整理php防注入和XSS攻擊通用過(guò)濾
- xss防御之php利用httponly防xss攻擊
- php過(guò)濾XSS攻擊的函數(shù)
- 細(xì)談php中SQL注入攻擊與XSS攻擊
- PHP中防止SQL注入攻擊和XSS攻擊的兩個(gè)簡(jiǎn)單方法
- PHP實(shí)現(xiàn)的防止跨站和xss攻擊代碼【來(lái)自阿里云】
相關(guān)文章
php連接mysql數(shù)據(jù)庫(kù)最簡(jiǎn)單的實(shí)現(xiàn)方法
在本篇文章里小編給大家分享的是關(guān)于php怎樣連接mysql數(shù)據(jù)庫(kù)的相關(guān)實(shí)例內(nèi)容,有需要的朋友們參考下。2019-09-09php獲取服務(wù)器端mac和客戶端mac的地址支持WIN/LINUX
這篇文章主要介紹了php獲取服務(wù)器端mac和客戶端mac地址的方法,需要的朋友可以參考下2014-05-05php實(shí)現(xiàn)的mongodb操作類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的mongodb操作類,較為詳細(xì)的分析了php針對(duì)mongodb數(shù)據(jù)庫(kù)操作的各種常用技巧,并將其封裝進(jìn)一個(gè)完整的類文件中以便于調(diào)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04PHP中實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼應(yīng)用源碼實(shí)例解析
PHP里如何實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼這個(gè)問(wèn)題一直困擾這大多程序員,那么下面這個(gè)源碼實(shí)例相信能給大家?guī)?lái)很大的幫助。2010-06-06php json_encode值中大括號(hào)與花括號(hào)區(qū)別
這篇文章主要介紹了json_encode值中大括號(hào)與花括號(hào)區(qū)別,具體的看下實(shí)例說(shuō)明,需要的朋友參考下2013-09-09基于PHP實(shí)現(xiàn)用戶登錄注冊(cè)功能的詳細(xì)教程
這篇文章主要介紹了基于PHP實(shí)現(xiàn)用戶登錄注冊(cè)功能的詳細(xì)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08PHP依賴注入(DI)和控制反轉(zhuǎn)(IoC)詳解
這篇文章主要介紹了PHP依賴注入(DI)和控制反轉(zhuǎn)(IoC)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06