2011-08-24 5 views
0

Google 웹 마스터 도구를 통해 내 서버가 PHPSESSID를 사용함이 감지되었습니다. 2 주 전에 PHPSESSID를 발견 한 후 Google Analytics에 표시된 이탈률이 약 2 %에서 75 %로 증가했습니다. URL 매개 변수가 내 사이트에 나타났습니다. 삭제할 수 없으며 항목이 내 사이트의 동작에 영향을 주는지 여부 만 결정할 수 있습니다. 160 개가 넘는 콘텐츠를 중복하여 볼 수 있습니다. 다음 항목을 사용할 수 있음을 알고 있습니다. PHPSESSID가 표시되지 않도록하려면 .htaccess의동적 사이트에서 PHPSESSID를 비활성화하는 방법은 무엇입니까?

php_value session.use_only_cookies 1 
php_value session.use_trans_sid 0 

.

그러나이 방법으로는 문제가 해결되지 않습니다. 리디렉션 방문자를 방지하기 위해 모든 페이지에

$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. 이 사이트는 Apache Server에서 실행됩니다.

+0

에서 PHP 파일에 추가 할 "Google 웹 로그 분석에서와 같이 이탈률 I 이후 약 2 ~ 75 %에서 증가하기 시작 2 주 전에 PHPSESSID를 발견했습니다. " URL 매개 변수가 이탈률을 유발한다고 생각하는 이유는 무엇입니까? – ceejayoz

답변

0

로그인 한 사용자를 검색하려면 if ($correcturl != $actualurl) 조건을 사용하는 것 같습니다. 그렇게하지 마십시오. 사용자가 로그인 한 후에 설정하는 세션 변수를 사용하십시오. 그런 다음 주소에 PHPSESSID가 필요하지 않습니다. $_SESSION['logged_in'] = true;

새 검사 :에 사용자가 로그인 한 후

if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'])

+0

URL 매개 변수에 웹 사이트와 관련없는 콘텐츠 (예 : )가 포함되어 있습니다. 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에서 PHPSESSID 이후 75 %에

이상한 소리가 난다. 가능한 스크립트 자식 공격 일 수 있습니다. 아무도 PHPSESSID 때문에 웹 페이지를 닫지 않을 것입니다. 웹 사이트를 방문 할 때 PHPSESSID가 생깁니 까? 또한 그 웹 페이지에

체크 아웃 코딩을 그 PHPSESSID

최고

<?php 

    ini_set('session.use_trans_sid', 0); 

    ini_set('session.use_only_cookies', 1); 
?> 
관련 문제