我的一個PHP頁面(運行在遠程服務器上,據稱安裝了PHP 5.2),會收到帶有一組「密碼」鍵的POST請求,然後,最奇怪的事情可能會發生。在下面的代碼中,POST請求的「密碼」被重新定義,以便爲你們更簡單地進行價值跟蹤,但是在測試中它仍然會產生註釋中指示的超自然輸出。爲變量賦值會更改會話變量的值
$_POST["passcode"] = "hi";
$_SESSION["passcode"] = "hello";
echo $_SESSION["passcode"] . '<br />'; // prints "hello"
$passcode = $_POST["passcode"];
echo $_SESSION["passcode"] . '<br />'; // prints "hi"
編輯:所以看起來它是關於register_globals的。因此是另一個問題:
如果我沒有權限訪問服務器上的php.ini文件,是否有任何方法可以關閉此行爲?
在接收文件中只有那些結果,或者是通過整個現有代碼? – MetalFrog
@MetalFrog接收PHP文件的POST是目前爲止我測試過的唯一地方。 –
這很奇怪。
當你註釋掉第五行時,它是否一樣? –