Jump to content


Photo

Pegando Variaveiz Externas


  • Faça o login para participar
5 replies to this topic

#1 jasar

jasar

    POGNATOR

  • Banidos
  • PipPipPipPip
  • 306 posts
  • Sexo:Masculino
  • Localidade:são paulo
  • Interesses:girorapido.com.br melhor site de classificados do mundo , e é free

Posted 21/01/2008, 10:38

bom dia tudo bem com vcs?
Estou com um problema , estou fazendo em flash um sisteminha de noticias so que o swf nao importa onde esteja vai pegar a ultima news de um arquivo que esta no meu server e muitas pessoas vao hospedar o swf no sites delas, o estranho é que no computador ( no meu ) funciona o flash normal ele puxa o q ta cadastrado no db pois ele puxa como txt a variavel ver=titulo&texto=noticia aqui
so que na web ele não puxa isso da undefined, alguem sabe por que?
:( tiraram minha assinatura mas 6 podem v ela ai
http://contagiro.flo...m.br/jasar.jpeg

#2 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 22/01/2008, 10:33

Sim.

Isso é uma guerra que todo cara de flash quando começa a fazer coisas para servidores grandes enfrenta. Vou tentar ser o mais claro possível, pois isso sempre dá trabalho pra explicar.

O flash possui um sistema de segurança que evita que sejam feitas requisições POST e GET ou chamadas de protocolo http comuns (como pedir um flv ou até mesmo um swf) entre servidores de DOMÍNIO OU IP diferentes do OBJETO DESTINO. Veja bem o que eu disse: DOMÍNIO OU IP DIFERENTES do OBJETO DESTINO (DESEJADO).

Se vc manda seu swf e seu cliente hospeda ele em uma página como www.sitedocliente.com.br/index.php e seu server fica no protocolo http://www.meusite.com.br todas as requisições do swf no SITE DO SEU CLIENTE ao SEU SERVIDOR vão falhar.

Existe uma solução? Sim. Existe. Você terá que comunicar ao flash player que sim, vc sabe que ele vai pedir aquela informação. Você tem ciência de que um flash externo em outro servidor estará apto para solicitar chamadas POSTS ou GET para seu server e obter dele uma resposta.
Vc faz isso com o uso de um arquivo XML chamado crossdomain.xml.

O arquivo cross-domain do flash possui a seguinte sintaxe:

<?xml version="1.0"?>
<!-- Permitindo que flashs de outros servers acessem dados em meus server: -->
<cross-domain-policy>
  <allow-access-from domain="www.algumdominio.com" />
  <allow-access-from domain="*.adobe.com" />
  <allow-access-from domain="105.216.0.40" />
</cross-domain-policy>

No XML acima serão permitidas chamadas a partir de flashs hospedados no server "www.algumdominio.com", a partir do domínio "*.adobe.com" ou a partir do IP "105.216.0.40". Aí vc diz: Mas eu vou distribuir meu swf para 1200 sites e já pensou o tamanho do xml que vou ter que fazer? E o peso disso tudo ???

Vc pode habilitar chamadas de qualquer domínio assim:

<?xml version="1.0"?>
<!-- http://www.adobe.com/crossdomain.xml -->
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

Ok. Agora vc tem o seu arquivo crossdomain.xml pronto para uso. Mas, e agora ? Onde vc vai colocá-lo? O local default que o flash player procura é na raiz do seu servidor. Então seria algo como http://www.meusite.c...crossdomain.xml

Mas vc pode especificar outro local para o crossdomain, colocando no swf a url, assim:

System.security.loadPolicyFile("http://www.meusite.com/folder1/folder2/folder_n/crossdomain.xml");

Isso ajuda vc a organizar melhor seu host, mas há, ainda, dois pequenos incovenientes:

1) O Flash Player 7 (7.0.14.0) - especificamente o 7.0.14.0 - e abaixo (6 e 5) não aceitam a linha acima e só buscam crossdomain.xml na raiz do servidor. A partir do player 7.0.19.0 e seus posteriores, aceitam a linha loadPolicyFile.
Esse arquivo deve ficar apenas em seu server e não precisam estar no server do seu cliente. Vou dizer novamente: NÃO precisa estar no server do seu cliente.

2) Todas as chamadas deverão ser feitas a pastas que estão ABAIXO da pasta onde se encontra o seu xml de policy. Então veja bem: na linha acima seu xml está na pasta /folder1/folder2/folder_n. Qualquer chamada como /folder1/dados.php vão falhar. Vc terá que colocar essa página 'dados.php' na pasta pasta_n/dados.php ou abaixo.

Todas as instruções acima eu já testei diversas vezes e sempre usei em jogos e banners que mandei para servidores como IG, Terra, etc.


Desculpe se pareci detalhista e repetitivo demais. Mas sempre vejo muita gente com dificuldade nisso e a solução, como vc viu, é muito simples.
Espero que ajude.



Abraços.

pp

Edição feita por: Pedropauloalmeida, 22/01/2008, 10:39.


#3 pilinguinha

pilinguinha

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado
  • Localidade:tão tão distante!!!
  • Interesses:flash e designer ^^ e fazer grandes amizades

Posted 16/08/2008, 05:03

olá amigo, :rolleyes:

preciso da ajuda de vcs o mais rápido possível

bem sou novato na área de flash mais tenho um grande conhecimento em .psd e corel

porém fiz um site www.systemfotoevideo.com este site naum tem suporte a php e para naum sair mais caro
preferi usar o domínio que tenho registrado somente para o formulário


ai que entra meu problema, fiz um index.swf com o carregamento externo do swf aonde hospedo ele com suporte a php
quando este swf aberto em seu domínio ele funciona perfeitamente e envia o os dados para meu email

mais quando ele é carregado através do load ele perde as ações e naum envia

lih o tutorial ai em cima tentei de varias formas mais de 5 horas seguidas mais num deu em nada

alguém pode me dizer como coloco o swf que fiz no (somente ele neste link funciona) perfeitamente com um php upado... mais quando carregado em outro domínio ai jah era =[

funcionar no www.systemfotoevideo.com lembrando que no systemfotoevideo o swf é carregado somente quando clicado no campo contato ai programei para carregar o swf aonde existe o suporte a php



estou precisando muito desta dica, agradeço a atenção

fiquem com Deus...


pilinguinha
moderador do fórum share The Rebels

Edição feita por: pilinguinha, 16/08/2008, 05:20.


#4 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 22/08/2008, 20:34

Mande o link com o swf no domínio final para rastrear os pedidos feitos ao seu server.
Outra coisa: o crossdomain.xml não está na raiz seu server. Onde ele está?

Abraços.

pp

#5 jasar orion

jasar orion

    Novato no fórum

  • Banidos
  • 17 posts
  • Sexo:Não informado

Posted 29/10/2008, 15:44

este
System.security.loadPolicyFile("http://www.meusite.c...rossdomain.xml");
pode ser de outro servidor? ou tem que ser do mesmo?

#6 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 31/10/2008, 08:23

Jasar, tudo bem?

Funciona assim: o swf SEU está em um servidor diferente do seu. Então ele está em servidor1.com.br. E seu servidor é meuservidor.com.br. Então a chamada vai ser System.security.loadPolicyFile("http://www.meuservid...oss-domain.xml");

Agora, se você quiser fazer chamadas ao servidor do seu amigo, ele vai ter qeu colocar no servidor dele o cross-domain.xml.
Ou seja: você só vai conseguir fazer chamadas a um servidor diferente do local swf se o dono do servidor autorizar e disponibilizar o cross-domain.xml.

Abraços.

pp




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq