2011-08-24 65 views
0

我檢測到我的服務器通過Google網站管理員工具使用了PHPSESSID。 Google Analytics(分析)中顯示的跳出率從兩週前檢測到PHPSESSID以來,已從約2%增加到75%。有了它,我的網站上出現了大量的URL參數。我無法刪除它們,我只能決定這些條目是否對我的網站的行爲有影響。我可以看到160多個重定向重複內容。我知道我可以使用下列條目:如何禁用動態網站上的PHPSESSID?

php_value session.use_only_cookies 1 
php_value session.use_trans_sid 0 

in .htaccess以防止出現PHPSESSID。

但是這並不能解決問題。因爲我有一個動態的網站,我不能使用此代碼:每一頁上

$actualurl= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$correcturl = 'http://www.ragepank.com/articles/26/disable-phpsessid/'; 
if ($correcturl != $actualurl) { 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: " . $correcturl); 
exit(); 
} 

,防止訪問者重定向。任何想法都表示讚賞。

P.S.該網站在Apache服務器上運行。

+0

添加到PHP文件「,如圖谷歌Analytics(分析)跳出率開始,因爲我是從約2%至75%,以增加在兩週前檢測到了PHPSESSID。「你爲什麼認爲URL參數會導致跳出率? – ceejayoz

回答

0

您似乎使用條件if ($correcturl != $actualurl)來檢測登錄用戶。不要這樣做,只需使用用戶登錄後設置的某個會話變量即可。然後,在您的地址中不需要PHPSESSID。

在用戶登錄後:$_SESSION['logged_in'] = true;

新檢查:if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'])

+0

網址參數包含與網站無關的內容,例如: http://www.mydomain.com/cart/?currency=EUR&main_page=page_4 http://www.mydomain.com/cart/?currency=CAD&main_page = shippinginfo&language = en http://www.mydomain.com/cart/?currency=AUD&main_page=shippinginfo&language=en 我沒有任何購物車或在網站上結帳。 – Emma

+0

然後我不確定你到底想要達到什麼目的。刪除PHPSESSID的方式是如何破壞您的代碼? – Crack

+0

如何提取過去的'?'從REQUEST_URI結束在重定向之前將它添加到'$ correcturl'? – Crack

1

跳出率從2%至75%,因爲PHPSESSID

聽起來很奇怪。可能是一個可能的腳本kiddie攻擊。由於PHPSESSID,沒有人會關閉網頁。當您訪問該網站時是否會提供PHPSESSID?

在這些網頁還檢查了編碼,該編碼做PHPSESSID

在頂部

<?php 

    ini_set('session.use_trans_sid', 0); 

    ini_set('session.use_only_cookies', 1); 
?>