Comunidad de diseño web y desarrollo en internet online

*** Violación de la seguridad Sandbox *** allowDomain

Citar            
MensajeEscrito el 08 Feb 2011 09:31 am
Hola de nuevo :)

A ver si alguien me puede ayudar...
Como ya había comentado en algún post estoy progamando una aplicación que descarga SWF desde un servidor Smartfox (pathFile = "../data/buildings/swf/00000001.swf");. Hago la carga secuencial de los archivos con la clase BulkLoader, tal y como me sugeristeis en el foro. Hasta aquí ningún problema, se cargan sin problema.

El problema me viene cuando i.e pulso sobre uno de estos swf, me sale el siguiente error:

*** Violación de la seguridad Sandbox ***
El dominio de seguridad 'file:///H|/maria/advpark%5Fflash/src/AdvPark/data/buildings/swf/00000001.swf' ha intentado acceder al contexto incompatible 'file:///H|/maria/advpark%5Fflash/src/AdvPark/bin/AdvPark.swf'

Voy a necesitar progamar eventos (como i.e hacer CLICK y lanzar un PopUp) sobre estos objetos y no sé como evitar este error de seguridad.

He estado navegando e investigando y he leído que el servidor debería tener un archivo xml (crossdomain.xml) y hacer uso de la función allowDomain. Lo entiendo a grandes rasgos pero no del todo....Los archivos del servidor (nombreSWF.swf) han de permitir al swf generado por mi proyecto acceder a ellos a través de allowDomain? ¿Pero cómo? Estos swf actúan como 'datos' con su linea de tiempo, no contienen código AS3 en su interior...A parte el número de archivos con el tiempo será alto. ¿No hay ninguna manera de dar acceso a todos ellos?

Ando algo confusa, ayuda please!! Gracias!

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Feb 2011 11:08 am
Trabajando en AS3, solo tienes que crear el crossdomain.xml que tiene que estar SI o SI en el raíz del dominio (Ejemplo: www.algo.com/crossdomain.xml), no puede estar en otro lado.

Si eso existe y autoriza a la aplicación correctamente, no tendrás problema. No necesitarás hacer nada más que subir el XML al Server.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 08 Feb 2011 12:13 pm
MIL GRACIAS HERNáN!!!

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Feb 2011 12:03 pm
Hola!
Vuelvo a la carga con el tema de seguridad...Ya tengo el xml que me indicas en el servidor pero me sigue saliendo el mismo error cuando interacciono (CLICK) sobre el SWF cargado.

He encotrado que he de poner ésto despues de la instancia del receptor del archivo:
receiveSwf_lc.allowDomain ("localhost");

Pero no sé que se entiende por receptor de archivo porque el obj. loader no contiene este método...En mi caso tengo un array que almacena en cada posición un SWF.
¿Donde llamo al método si solo el obj. Sequrity lo contiene?

Código ActionScript :

Security.allowDomain("http://localhost/"); 

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Abr 2011 11:00 am
Conseguiste arreglarlo?

Por TobaWebs

6 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Abr 2011 05:17 pm
Sí una vez en el server, sí :) gracias!

Por emedmaria

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Abr 2011 02:32 pm
yo estoy utilizando as3 para flash cs3, y no doy la manera de acceder a dichos vídeos sin que salga el dichos *** Violación de la seguridad Sandbox *** ,¿ si no te importa podrías exponerlo con un poco de mas claridad que las que hay por la red?,que dicen que hay que utilizar php, otros con simples Security.loadPolicyFile() tienes acceso, he probado de todo pero con la misma respuesta. un saludo y gracias por contestar.

Por TobaWebs

6 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Abr 2011 11:39 am
Lo que he hecho ha sido poner un fichero xml en la raiz de lo que será tu servidor web cuyo contenido es el siguiente:

Código ActionScript :

  <?xml version="1.0" ?> 
- <cross-domain-policy>
  <allow-access-from domain="*" /> 
  </cross-domain-policy>


Luego en mi clase Main.as tengo una función init donde creo las instancias necesarias, inicializo objetos etc...
aquí he puesto:

Código ActionScript :

Security.loadPolicyFile("xmlsocket://serverName:843")
Security.allowDomain("http://serverName"); 


Espero que te sirva de algo ;)

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 Abr 2011 11:33 pm
Ok, muchas gracias, lo conseguí de otro modo, pero no me gusta, lo probaré. un saludo.

Por TobaWebs

6 de clabLevel



 

chrome

 

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