Pergunta

versão Coles Notas:

index.php?map_id=foo é carregado no iframe em www.not-my-domain.com. índice conjuntos SESSION['map_id'] = foo. tentativas de arquivo do Flash para obter SESSION['map_id'] através authenticate.php, mas authenticate.php não tem valores definidos para qualquer SESSION varaibles.

- Somente a primeira carga, assuntos cruz domínio

.

Verbose:

Eu tenho um índice, enquanto onde eu definir: SESSION['map_id'] = foo

O arquivo de índice, em seguida, carrega um arquivo flash. Quando inicializado, o flash acessa um arquivo 'authenticate.php', que ecoam de fora da SESSION['map_id'] e é carregado na memória flash via LoadVars. Flash em seguida, exibe os dados apropriados. Este passo não pode ser feito de outra maneira

Isso tudo funciona muito bem em nosso site principal. A questão vem quando tentamos porta fora para outros sites, fornecendo iframe incorporar códigos:

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

Em uma nova carga do código de outro site (www.anotherdomain.com), parece que as variáveis ??SESSION foram destruídas, como Flash simplesmente diz que eles estão vazios. ($map_id gera um em branco)

O arquivo de índice ainda ecoará adequadamente $map_id como 'foo', ele só parece arquivo do 'authenticate.php' não pode acessar o SESSION varaibles.

session_start()

I garantiram está presente em todos os arquivos apropriados.

Foi útil?

Solução

PHP ids de sessão são passados ??através de cookies por padrão, mas você não pode transferir os cookies entre domínios. Tente passar o id de sessão através da url vez.

Aqui está a página apropriada na documentação do php .

Existem algumas maneiras de obter php para passar o id de sessão na url se não está sendo feito automaticamente.

  1. Você pode passar manualmente o id de sessão na url (deve vir antes de outras variáveis ??GET):