2013-01-10 2 views
0

asp.net 페이지에서 세션 ID를 가져 오기위한 PHP 함수를 찾고 있습니다. 나는 PHP는 세션 ID를 얻기 위해 PHPSESSID를 사용하고 아래와 같이 올바른 결과를주고 :ASP.Net 세션 ID를 가져 오기위한 PHP 코드

$strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/'; 
session_write_close(); 
echo $strCookie; 
result: PHPSESSID=h7h1si1gqge0opqe7hedk46aa7; path=/ 

가 지금은 ASP.Net 세션 ID를 얻으려면, 나는 PHP는 명령이 솔직히 모르겠어요. ASPSESSIONID, ASPSESSID, SessionID 등을 성공적으로 시도하지 못했습니다. 아래 그림과 같이 결과가 공백 일 때마다 방화 광을 사용하여 ASP.Net_SessionId를 볼 수 있습니다. 누군가가 ASP.net 세션 ID를 얻도록 도와주십시오. 나는 포럼을 통해 검색을 시도했지만 아무것도 얻지 못했습니다.

$cookie="ASP.NET_SessionId=". $_COOKIE["ASPSESSIONID"] ; 
session_write_close(); 
echo $cookie; 
result: ASP.NET_SessionId= 

뿐만 아니라이 코드를 시도하지만, 아무것도 못하고 :

if(stripos($data,"ASP.NET_SessionId")) 
{ 
$retData = explode("ASP.NET_SessionId=", $data); 
$sessionTempValue = explode(";",$retData[1]); 

//setup the cookie with the recd data here.. 

echo $sendCookie1 = "ASP.NET_SessionId=".$sessionTempValue[0].'; path=/'; 
setcookie("ASP.NET_SessionId",$sessionTempValue[0]); 
} 

편집 : 감사 TVK, 이카루스와 올바른 방향으로 나를 안내하는 마이크 브랜트. 나는 아래와 같이 스크립트를 약간 수정했으며 ASP.Net SessionId는 cookiedk.txt 파일에 저장되지만 여전히 $ _COOKIE에는 나타나지 않습니다.

# Netscape HTTP Cookie File 
# http://curl.haxx.se/rfc/cookie_spec.html 
# This file was generated by libcurl! Edit at your own risk. 

#HttpOnly_xyz.com FALSE / FALSE 0 ASP.NET_SessionId jq0jeb45lldjlo45wreqsl45 

하나 더 도움, 여러 사용자가 동시에 시스템과 상호 작용 할 위치를 문제가 될 수있는 파일에 세션 ID를 저장 :

define('COOKIE_FILE', 'cookiedk.txt'); 
curl_setopt($ch, CURLOPT_COOKIESESSION, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); 

다음은 cookiedk.txt 콘텐츠입니다. 거기에 스크립트를 통해 그것을 얻는 방법과 거기에 파일에 저장 대신 그것을 설정할 수 있습니까?

+1

요청시 보낸 모든 쿠키를 살펴보고 추측 대신 적절한 이름을 찾으십시오. Google 크롬 개발자 도구는 친구입니다. – Icarus

+1

분명히 쿠키는 읽을 때 동일한 도메인의 것이어야합니다. –

+0

예, 아마도 잘못된 장소를보고 있었을 것입니다. 쿠키에는 없습니다. Firebug의 Request Headers 아래에 나타납니다. 거기에서 그것을 모으는 방법을 모릅니다. – Amit

답변

1

ASP 세션 ID를 실제로 사용할 수 있으면 변수 $_COOKIE에 있어야합니다. $_COOKIE의 모든 내용을 보려면 print_r($_COOKIE);을 사용할 수 있습니다. 세션 ID가 있으면 세션 ID를보고 올바른 배열 키를 선택할 수 있습니다.

쿠키의 도메인 제한이 충족되는 경우에만 쿠키가 전송됩니다.

+0

안녕하세요, 빠른 응답 주셔서 감사합니다, 나는 print_r ($ COOKIE) 시도하고 ASP.Net 세션 ID가 없습니다. PHPSESSID가 쿠키에 포함되어 있기는하지만, 그것이 내가 얻지 못하는 이유입니다. 이제는 쿠키에 없기 때문에 어디에서 얻을 수 있습니까? 방화 광을 통해 ASP.Net 세션 ID를 볼 수 있으며 세션 ID를 사용하면 프로그램이 완벽하게 작동합니다. 그러나 나는 각 세션마다 수동으로 퍼팅을 유지할 수 없으며이를 프로그램으로 캡처해야합니다. 다음은 방화 광부의 세부 사항입니다. 연결 \t 연결 유지 쿠키 ASP.NET_SessionId = 3knxi145esv22tvlzua5gy45 – Amit

+0

그러면 ASP.NET 쿠키의 도메인 제한이 PHP 사이트에 유효하지 않을 수 있습니다. 귀하의 상황에 대한 세부 사항은 정확히 모르겠지만 Firefox에서 PHP와 ASP.NET 쿠키를 비교해 볼 수는 있습니다. – tvkanters

관련 문제