假設我們有這樣這是跨站點形式注入的安全解決方案嗎?
<?php
session_start();
$_SESSION['token'] = rand(0, 6000000);
echo '
<form method="post" action="submit.php/?token='.$_SESSION['token'].'">
...
</form>
';
?>
一種形式,表單處理程序submit.php
<?php
if($_GET['token'] == $_SESSION['token']) {
//form is valid, do stuff
} else {
header("Location: index.php");
//give the attacker boot
}
?>
有沒有辦法這種形式可以通過運行一個表單提交請求http://somesite.com/submit.php?token=non-genuine-number
第三方僞造網站?我們不是在討論如何欺騙管理員點擊真正網站上的鏈接中間表單版本,當生成令牌的$_SESSION
數據並且可能被欺騙但沒有正確的會話數據的用戶。
在6000001中1,我猜想。 – Blake
@Blake究竟如何? AFAIK沒有辦法從第三方網站爲目標網站生成$ _SESSION數據,所以即使他們設法弄清楚它可能是基於會話的,但條件會評估爲false,因爲真正的$ _SESSION ['token']是真實的網站將是空的,正如我所說的,只有這樣我才能想到的是,如果有人通過編輯表格中途欺騙了管理員,然後正確猜測/獲取他的會話標記 –