Comunidad de diseño web y desarrollo en internet online

[Flex] Restricción de Seguridad... y aun no sirve mi .swf

Citar            
MensajeEscrito el 15 Dic 2010 08:15 am
Bueno cree una animación que se conecta con el xml de mi perfil en twitter para mostrar mi ultimo mensaje...

Ahi va todo bien, funciona de las mil maravillas. La decidi colocar en mi sitio que esta hecho en flex.
Obviamente como se conecta a una url externa me aparecio el problema de seguridad, busque y lo resolvi dando de alta la dirección del sitio y los directorios de mis archivos.

Ademas coloque como parámetros extra en el proyecto: -use -network=false

Y bueno lo pude abrir y correr sin problemas desde el arbol de archivos de flex a la hora de exportarlo
Corro el swf y se ve bien y todo.
Pero ya lo subi a mi hosting... y tan tan... no aparece nada.
Es decir no muestra el current status.

He revisado todo de nuevo y lo he vuelto a subir pero simplemente no muestra nada.
Aun me pregunto que es... y la verdad no tengo idea simplemente pareciera no leer mi status de twitter aunque probandolo localmente y desde el swf si ...

Alguien tiene una pista? De que puede ser o que url me falto por dar de alta... o bueno algo xD
Gracias

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Dic 2010 02:43 pm
Es por como funciona la seguridad en el el Flash Player, donde para cargar un archivo de un dominio externo necesitas un crossdomain.xml en el sitio de donde lo tomas. Puedes hacer magia para que te funcione en local, pero eso no sirve para el servidor. Twitter tiene un API bastante completo e incluso una librería de AS3 para poder acceder a tus datos, supongo que esa es la forma de acceder y no directamente, por eso no ponen el crossdomain.
Aquí alguna info: http://blog.twitter.com/2006/10/twitter-api-for-flash-developers.html

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Dic 2010 12:06 am

solisarg escribió:

Es por como funciona la seguridad en el el Flash Player, donde para cargar un archivo de un dominio externo necesitas un crossdomain.xml en el sitio de donde lo tomas. Puedes hacer magia para que te funcione en local, pero eso no sirve para el servidor. Twitter tiene un API bastante completo e incluso una librería de AS3 para poder acceder a tus datos, supongo que esa es la forma de acceder y no directamente, por eso no ponen el crossdomain.
Aquí alguna info: http://blog.twitter.com/2006/10/twitter-api-for-flash-developers.html

Jorge


Yep I know.
Y de hecho estoy usando el API de twitter para hacer eso.
Ya lei al respecto del crossdomain.xml pero al parecer debe estar en el server de twitter o algo así.
Pero me parece un tanto extraño de que al probarlo desde Flex tanto desde browser así como desde el .swf directamente si aparezca mi status.

Y ya estando en el host de mi sitio simplemente no lo muestre.
Ademas no me manda ningun error como antes, relacionado a la seguridad. Simplemente no lo hace y eso es todo.
Realmente estoy algo perdido.

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2010 05:52 am
Bueno por si alguien le interesa.

Ya encontre la solución.
Cree un archivo crossdomain.xml... y aparte un .php para que ahi cargue el .xml.

Algo así...

Código XML :

<?xml version="1.0"?>

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>

<allow-access-from domain="www.twitter.com" />

</cross-domain-policy>


Y el .php...

Código PHP :

<?php

$filename = 'http://twitter.com/statuses/user_timeline.xml?screen_name=NickdeTwitter';
$handle = fopen($filename, 'r');
$contents = stream_get_contents($handle);
fclose($handle);
echo $contents;
?>


Y ya en AS3... creo una función... loader para poder usar lo que se cargue.

Código ActionScript :

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, doneLoad);
loader.load(new URLRequest("http://www.sitio.net/nombreFile.php"));   


Ya con eso puedo crear un XML y manipularlo con la info...

Código ActionScript :

twitterXML = new XML(evt.currentTarget.data);


Y bueno eso es todo.

Ahora solo me gustaría saber si alguien sabe por que dentro de mi un .swf que tengo incrustado en mi sitio en FLEX, a la hora de que trato de abrir un text dinamico (el status de twitter) y este tiene una url... no me deja abrirla... tengo que darle boton derecho.

Cuando en el .swf normal si lo hace... es decir doy click y abre la nueva ventana sin problema... no así cuando lo incluyo en mi aplicación mxml... Aguien sabe como solucionar esto?
Gracias

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2010 11:22 am
Si usas un proxy en PHP el crossdomain no hace falta. Si usas debug player y no te deja abrir por temas de seguridad deberías ver el mensaje, prueba usando un callback y llamando a un JS que te abra la ventana (igual no es muy recomendable, la mayoría tiene seteado bloqueo de pop-ups)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.