2009-09-03 5 views
30

나는 쿠키로 놀고있다. PHPSESSID라는 쿠키가 없어요.PHPSESSID 란 무엇입니까?

필요합니까? 그것을 제거 할 수 있습니까?

"기능"은 무엇입니까?

if (count($_POST)) { 

setcookie("TestCookie", htmlspecialchars($_POST['val']), time()+3600); 
} 

print_r($_COOKIE); 

인쇄 :

Array 
(
    [TestCookie] => blabla 
    [PHPSESSID] => el4ukv0kqbvoirg7nkp4dncpk3 
) 
+2

'session_start()'에 의해 생성 된 쿠키에 PHP가 사용하는 기본 식별자 일뿐입니다. 그 이름을 바꾸고 싶다면,'ini_set ('session_name', 'somethingElse')' – caw

+0

을 사용하십시오.이 이름은 ini_set ('session.name', 'somethingElse')이 아닙니다; (점을주의하십시오) session_start() 전에 사용해야합니다. 모든 PHP 페이지에서. (로그인 페이지가 아님) – Tarik

+0

또는 use session_name ('somethingElse'); (session_start() 또는 session_register()가 호출되기 전에 모든 페이지에) – Tarik

답변

34

PHP는 두 가지 방법 중 하나를 사용하여 세션을 추적합니다. 귀하의 경우와 마찬가지로 쿠키가 사용 설정된 경우 쿠키가 사용됩니다.

쿠키가 비활성화 된 경우 URL을 사용합니다. 이 을 안전하게 수행 할 수 있지만 더 어렵습니다. 종종 은 그렇지 않습니다. 예를 들어 session fixation.

Google을 검색하면 많은 SEO 조언을 얻을 수 있습니다. 일반적인 지혜는 쿠키를 사용해야한다는 것이지만 PHP는 세션을 추적합니다.

+179

나는 그것을 봤다. 이것은 Google이 나를 이끌었던 곳입니다. –

+1

세션 ID에 URL을 사용하지 마십시오! 안전하지 않아. –

+7

@DustinGraham 하하 그렇게 우리도 그렇게했다. – MJoraid

5

그것은 PHP에서 현재 세션의 식별자입니다. 삭제하면 세션 변수에 액세스하거나 세션 변수를 사용할 수 없습니다. 계속 지키길 권합니다.

0

자동 세션 ID는 php.ini에서 확인하십시오.

사용 설정하면 쿠키에 PHPSESSID가 표시됩니다.

10

나는 추가합니다 :
당신이
는 "PHPSESSID는"이 php.ini 파일 session.name

또는 기능 session_name()를 통해 수행 할 수 있습니다 PHP

사용하고 계시 다른 이름을 사용한다

+11

웹의 [80 %] (http://w3techs.com/technologies/history_overview/programming_language)가 PHP를 사용하므로이 정보는 쓸모가 없습니다.아무도이 정보를 기반으로 서버의 결함을 찾을 수 없습니다. – Kalzem

+17

여전히 서버가 현재 실행중인 기술을 식별하는 방법으로 공개 할 수도 있고 공개하지 않을 수도 있습니다. –