2010-05-07 132 views
1

我服務的是由PHP生成的動態圖像內容。但是對於.php文件的這種請求,PHPSESSID cookie正在被髮送,這是一種浪費。阻止PHP向請求發送PHPSESSID cookie?

是否有可能防止PHP發送這個cookie與PHP文件的請求?還是PHP完全有必要工作?

謝謝你的時間!

+1

不確定你在問什麼。當您在php腳本中使用session_start()時,瀏覽器會獲得一個會話cookie。只要瀏覽器具有該cookie,瀏覽器就會發送每個請求。 – 2010-05-07 01:04:15

+0

@Rob:他基本上是問如何在PHP提供圖片時忽略cookie(後來我意識到這一點,因此刪除了我毫無價值的答案)。馬修是正確的,只是使用另一個域/路徑。 – BalusC 2010-05-07 01:31:25

回答

6

瀏覽器將發送適用於特定路徑域組合的任何cookie。除了使用不同的路徑和域之外,您無法控制這一點。這就是爲什麼許多網站使用static content domains

+0

啊..我使用一些東西的靜態內容域。在這種情況下,我無法理解我的想法。無論如何,謝謝馬修! – Nirmal 2010-05-09 08:50:25

1

這是由PHP的會話功能使用。如果您的網站沒有使用會話,那麼這可能不應該顯示。

請記住,cookie是由瀏覽器發送的,並且您無法控制其傳輸。

0

你說的「不要使用cookie的會話,使用phpsessid作爲get參數」php不贊成使用這個理由。 Cookie將始終發送到相同的域。如果你真的想避免開銷的話,不需要cookie的資源應該在一個單獨的域中,因此不會發送cookie。 IE瀏覽器。 static.domain.com爲靜態內容。 老實說,這不值得一提。

0

我查過了,這是我發現的唯一解決方案。

下面的代碼添加到您的.htaccess文件:

的RewriteCond%{QUERY_STRING} PHPSESSID = * $

重寫規則*%{REQUEST_URI}。? [R = 301,L]

+0

對不起,這是幹什麼的?如果QUERY_STRING包含會話ID,它似乎會從請求中去除所有參數並重定向。 – rjmunro 2012-04-27 15:26:42