문제

스 노트 버전:

index.php?map_id=foo 로드 iframe 에 www.not-my-domain.com.인덱스트 SESSION['map_id'] =foo.플래시 파일을 얻으려고 시도하 SESSION['map_id'] thru Authenticate.php 하지만,Authenticate.php 는 아무 값을 설정 SESSION varaibles.

--만-로드,교차 도메인 문제입니다.

자세한 정보:

나는 인덱스는 어디서 나는 설정: SESSION['map_id'] = foo

Index 파일을 다음을 로드 플래시 파일입니다.면 초기화,flash 에 액세스'Authenticate.php'파일이 있는 에코아웃 SESSION['map_id'] 및 로드로를 통해 flash LoadVars.플래시를 표시한 다음 적절한 데이터이다.이 단계를 수행할 수 없는 또 다른 방법

이 모든 작업 단지에서 우리의 주요 사이트입니다.문제를 할 때 우리는 포트를 다른 사이트가 제공하여 iframe 포함 코드:

<iframe src="http://www.mydomain.com/?map_id=foo&code=bar" ... ></iframe>

에 신선한의 부하를 포함하는 코드는 다른 사이트에서(www.anotherdomain.com),그것은 보인다 SESSION 변수가 파괴되고,플래시 단순히 말한다 그들은 비어 있습니다.( $map_id 출력 공백)

Index 파일은 여전히 제대로 echo $map_id 로'foo',그냥 보인다'Authenticate.php'파일에 액세스할 수 없 SESSION varaibles.

가 보장 session_start() 에 존재하는 모든 적절한 파일이 있습니다.

도움이 되었습니까?

해결책

PHP 회 id 를 전달되는 쿠키를 통해 기본적으로,하지만 당신은 전송할 수 없음에서는 쿠키를 도메인이 있습니다.전달하려고 세션 id 을 통해 url 을 대신 합니다.

여기에는 해당 페이지에서 php 문서.

거기에 몇 가지 방법으로 당신을 얻을 수 있습 php 세션을 통과하 id url 지 않는 경우에는 자동으로 수행됩니다.

  1. 할 수 있는 수동으로 통과하는 세션 id url(앞에 있어야 합니다 다른 변수):

    <iframe src="http://www.mydomain.com/?&map_id=foo&code=bar">

  2. 당신은 쿠키를 사용하지 않도록 설정할 수 있도록 강요,모든 요청을 세션 id 를 자동으로 추가되 url:

    ini_set("세션이 있습니다.use_cookies","0");

  3. 편집할 수 있습니다 url_rewriter.태그 설정을 알려주는 PHP 는 html 태그를 다시 쓰기와 세션 id 입니다.여기에,iframe=src 추가되었는 기본 설정:

    ini_set("url_rewriter.태그","a=href,영역=href,프레임을=src,iframe=src 입력=src 양식을=fakeentry");

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top