看板 PHP 關於我們 聯絡資訊
Notice: Undefined index: token in E:\program\html\project_pharos\pharos\WEB\include\session.php on line 6 Notice: Undefined index: token in E:\program\html\project_pharos\pharos\WEB\include\session.php on line 11 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\program\html\project_pharos\pharos\WEB\include\session.php:6) in E:\program\html\project_pharos\pharos\WEB\include\session.php on line 13 Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in E:\program\html\project_pharos\pharos\WEB\include\session.php on line 14 Warning: Cannot modify header information - headers already sent by (output started at E:\program\html\project_pharos\pharos\WEB\include\session.php:6) in E:\program\html\project_pharos\pharos\WEB\include\session.php on line 15 ※ 引述《buganini (霸格尼尼)》之銘言: : http://140.122.126.12/~buganini/dev/session.php : 使用方法很簡單 : 把session_start()換成include上面這個檔案即可 : FEATURE: : 1. 每次連線同步更新token : 提昇抵抗hijack的能力 : 相當於TCP每次seq number的更新 : (one time password) : 2. 比TCP更好的抵抗能力 : TCP在被hijack之後 基本上只能hijack回去 : 否則就束手無策了 : 這個script在被hijack之後 : hijacker更新了server端的token : victim如果再連線 因為持有舊的token : 所以整個session會被毀掉 : victim需要重新建立session : 而這個hijack就失效了 : 其實TCP應該也可以關閉連線 : 可是因為TCP的fixed token(ip-port pair) : 是有規則的 所以容易被DOS : NOTICE: : 如果一頁有多個frame裡面連到的頁面都有include : 這個script的時候 : 或著快速refresh : 或browser有開pipelining : 會發生餅乾賽跑... : 這些request會拿著同一個token去連線 : 但經過一個連線之後token就會換掉 : 然後session就炸了... : 適度提高$tolerance可以減少這個問題 : 但設太高會失去抵抗hijack的能力 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.158.15
EAFV:我這邊試是沒有問題... 10/31 11:03
buganini:how about now? 10/31 12:20
buganini:you dont clear E_NOTICE bit in your error_reporting 10/31 12:25