[英]Wouldn't regenerate_session_id regenerate the id for someone who intercepts a session id?
我在理解這一點時遇到了麻煩,我認為我對網絡漏洞利用的無知才是罪魁禍首。 我對會話固定的理解是這樣的:
建議您使用regenerate_session_id來減少黑客攔截會話的機會。 現在,這不會觸發regenerate_session_id,用會話ID更新黑客,同時注銷最初登錄的用戶嗎? 這似乎會造成更大的傷害,然后再造成傷害,所以我知道我必須在這里的圖片中丟失一些東西。 我想念什么?
session_regenerate_id是防止會話劫持的好方法,因為劫持通常發生在會話ID被盜后的后續步驟中。
例如:
如果由於某種原因而使注視成為實時且快速的事情(例如自動化過程),那么不對,您是對的,這將無法挽救用戶。 這就是為什么您不應該僅依賴session_regenerate_id,還應該依賴用戶的IP地址的原因。
if(!session_id()){
session_start();
if(!isset($_SESSION['user_ip'])){
$_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['user_ip'] !== $_SERVER['REMOTE_ADDR']){
exit('highjacking detected, session terminated');
}
session_regenerate_id();
}
顯然,如果黑客來自同一網絡(例如工作場所),則IP檢測將不起作用,因此您還可以使用UserAgent檢查。 但是,根據數據的敏感性,這有點過頭了。
希望能幫助到你...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.