0
我已經(從客戶端返回的標準的東西有幾塊點心),看起來像這樣傳入的HTTP請求:
GET /loggedin.php HTTP/1.1
Cookie: name=Server+Side+Name; path=/
Cookie: role=Role+From+DB; path=/
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.1.1; Build/JRO03C)
Host: www.example.com
Connection: Keep-Alive
Accept-Encoding: gzip
一些PHP內容如下:
<?php
$body = "\nThe request's _SERVER['HTTP_COOKIE'] is: " . print_r($_SERVER['HTTP_COOKIE'], true);
$body .= "\nThe request's _COOKIE is: " . print_r($_COOKIE, true);
echo $body;
?>
導致下面的輸出:
The request's _SERVER['HTTP_COOKIE'] is: name=Server+Side+Name; path=/, role=Role+From+DB; path=/
The request's _COOKIE is: Array
(
[name] => Server Side Name
[path] => /, role=Role From DB
)
注意在第二個條目$_COOKIE
是「路徑」而不是「角色」,其值不正確。
看起來好像在$_SERVER['HTTP_COOKIE']
正確顯示正確(雖然連接)的餅乾被錯誤地解析以填充$_COOKIE
但我不敢相信是這種情況。我控制所有的元素,所以我應該怎樣做才能得到正確的值到$_COOKIE
?
如果重要的話,這是在EC2 Amazon Linux實例上的PHP 5.3.27上。