문제를 설정 PHP 세션 내에서 변수로 도메인 iframe
-
03-07-2019 - |
문제
스 노트 버전:
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 세션을 통과하 id url 지 않는 경우에는 자동으로 수행됩니다.
할 수 있는 수동으로 통과하는 세션 id url(앞에 있어야 합니다 다른 변수):
<iframe src="http://www.mydomain.com/?&map_id=foo&code=bar">
당신은 쿠키를 사용하지 않도록 설정할 수 있도록 강요,모든 요청을 세션 id 를 자동으로 추가되 url:
ini_set("세션이 있습니다.use_cookies","0");
편집할 수 있습니다 url_rewriter.태그 설정을 알려주는 PHP 는 html 태그를 다시 쓰기와 세션 id 입니다.여기에,iframe=src 추가되었는 기본 설정:
ini_set("url_rewriter.태그","a=href,영역=href,프레임을=src,iframe=src 입력=src 양식을=fakeentry");