《PHP實戰(zhàn):php跨站攻擊實例分析》要點:
本文介紹了PHP實戰(zhàn):php跨站攻擊實例分析,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP應(yīng)用本文實例講述了php跨站攻擊的原理與防范技巧.分享給大家供大家參考.具體辦法分析如下:
PHP應(yīng)用跨站攻擊就是利用程序上的一些細節(jié)或bug問題進行的,那么我們要如何耿防止跨站攻擊呢?下面就以一個防止跨站攻擊例子來說明,希望對各位有贊助.
代碼如下:
<?php
#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() C $_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>
?
通過在你的表單中包括驗證碼,你事實上已經(jīng)消除了跨站哀求偽造攻擊的風險.可以在任何需要執(zhí)行操作的任何表單中使用這個流程
當然,將token 存儲到session更好,這里只是簡單示例下
PHP應(yīng)用簡單分析:
PHP應(yīng)用token防攻擊也叫作令牌,我們在用戶拜訪頁面時就生成了一個隨機的token保存session與表單了,用戶提交時如果我們獲取到的token與session不一樣就可以提交重新輸入提交數(shù)據(jù)了
PHP應(yīng)用希望本文所述對大家的php程序設(shè)計有所贊助.
維易PHP培訓學院每天發(fā)布《PHP實戰(zhàn):php跨站攻擊實例分析》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14403.html