您好,登錄后才能下訂單哦!
本篇文章為大家展示了利用php怎么實現一個跨站攻擊,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
跨站攻擊就是利用程序上的一些細節或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() – $_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>
通過在你的表單中包括驗證碼,你事實上已經消除了跨站請求偽造攻擊的風險。可以在任何需要執行操作的任何表單中使用這個流程
當然,將token 存儲到session更好,這里只是簡單示例下
簡單分析:
token防攻擊也叫作令牌,我們在用戶訪問頁面時就生成了一個隨機的token保存session與表單了,用戶提交時如果我們獲取到的token與session不一樣就可以提交重新輸入提交數據了
上述內容就是利用php怎么實現一個跨站攻擊,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。