Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-02-2011, 16:27   #1 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
SWF und Punycode Domain

Hallo ActionScript Freunde,

ich versuche gerade Image upload via FileReference unter einer Punycode Domain zu realisieren. In einer umlautfreien Domain funktioniert alles wie erwartet. Von Lokal zum Server upload funktioniert auch.

SWF in einer Domain mit Umlaut eingebettet wird ein SecurityErrorEvent gefeuert.

Meine Frage ist, woher die SandBox weiß, in welcher Domain sie sich befindet. Wird das am Anfang eines HTTP abgefragt?
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Alt 13-02-2011, 18:05   #2 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
hast du auch Unicode benutzt?
beispiel:
dömäin.example → xn--dmin-moa0i.example

ansonsten zeug mal den code.
mfg
option ist offline   Mit Zitat antworten
Alt 13-02-2011, 21:11   #3 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
Hey OPTION!

ActionScript:
  1. public function uploadFile():void
  2.         {
  3.             if ("file" in _textLibrary)
  4.             {
  5.                 var pos:uint = name.lastIndexOf(".");
  6.            
  7.                 var ext:String = name.substr(pos).toLowerCase();
  8.                
  9.                 if (ext != ".jpg")
  10.                 {
  11.                     _textLibrary.status = "Die Dateiendung ist nicht erlaubt.";
  12.                    
  13.                     if (!_statusContainer) _statusContainer = new StatusContainer();
  14.                
  15.                     _statusContainer.setStatusField(_textLibrary.status);
  16.                    
  17.                 } // end if
  18.                 else
  19.                 {
  20.                     var myDate:Date = new Date();
  21.                    
  22.                     var timestamp:uint = myDate.getTime();
  23.                    
  24.                     var myUrlVars:URLVariables = new URLVariables()
  25.                    
  26.                     myUrlVars.postTargetSourceDirectory = _imagePropertiesLibrary.source;
  27.                     myUrlVars.postTargetThumbDirectory  = _imagePropertiesLibrary.thumbs;
  28.                     myUrlVars.postTargetRotation        = _imagePropertiesLibrary.rotation;
  29.                     myUrlVars.postTargetFileName        = _imagePropertiesLibrary.name;
  30.                    
  31.                     var myRequest:URLRequest = new URLRequest("http://www.xn--antik-lbz-w9a.de/uploadFile.php?" + timestamp);
  32.                    
  33.                     myRequest.method = URLRequestMethod.POST;
  34.                     myRequest.data = myUrlVars;
  35.                                    
  36.                     addEventListener(ProgressEvent.PROGRESS, showProgress, false, 0, false);
  37.                     addEventListener(Event.COMPLETE, completeHandler, false, 0, false);
  38.                     addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, false);
  39.                     addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityHandler, false, 0, false);
  40.                     addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler, false, 0, false);
  41.                     addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeDataHandler, false, 0, false);
  42.                    
  43.                     upload(myRequest, "imageFile");
  44.                    
  45.                 } // end else
  46.                
  47.             } // end if
  48.             else
  49.             {
  50.                 if (!_statusContainer) _statusContainer = new StatusContainer();
  51.                
  52.                 _textLibrary.status = "Es wurde örtlich kein Image ausgewählt.";           
  53.            
  54.                 _statusContainer.setStatusField(_textLibrary.status);
  55.                
  56.             } // end else
  57.            
  58.             return;
  59.         } // END FUNCTION
  60.  

sandbox message

Code:
Security Error: Error #2049: Verletzung der Sicherheits-Sandbox: http://www.antik-lübz.de/CMS.swf kann keine Daten nach http://www.xn--antik-lbz-w9a.de/uploadFile.php?549901739
In der Adresszeile steht tatsächlich die URL mit Umlaut. Vergleicht die Sandbox einfach nur die URL mit der des URLRequest Objekt? Wenn ja, dann sollte es nicht schwer sein das zu ändern. Die des Host ist die mit ASCII-Zeichen.
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Alt 14-02-2011, 06:04   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 607
Also ich habe auch schon das Problem vor etwas längerer Zeit gehabt, dass die unterschiedlichen Standard-Browser (IE, Firefox, Opera, Chrome, Safari) es unterschiedlich händeln.
Manche lösen die Domain von http://www.antik-lübz.de nach Antik Lübz immer auf, manche nur wenn sie externe Inhalte laden. Was der FlashPlayer und die Sicherheitslinien dann noch dazu sagen, war mir dann zuviel und ich habe dem Kunden gesagt er solle sich für 3€ im Jahr noch eine umlautfreie Domain nehmen, auf die dann weitergeleitet wurde, was dann ja noch andere Vorteile hat.
Wie jetzt Stand der Dinge ist, kann ich natürlich sagen. Aber da in der Realität die Fragmentierung von FlashPlayern und Browser noch viel größer ist, würde ich davon abraten zu experimentieren.
bizz ist offline   Mit Zitat antworten
Alt 14-02-2011, 10:08   #5 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
Sandbox

Hast Recht!! Außer FireFox und IE funktioniert es. Konqueror & Dolphin habe ich nicht getestet.

Letztlich lässt sich die url im Browser leicht mit JS oder Apache Module mod_rewrite gut verändern aber ich nehme Deinen Rat an und Finger weg von Umlaut-Domain. Dennoch lohnt sich auf jeden fall ein Blick hinter der Kulisse und dem Mechanismus Sandbox.

Sicherheitsexperte Billy Rios

Artikel vom 06.01.11 Quelle: golem.de

Artikel vom 07.01.11 Quelle: TEC CHANNEL
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
swf und punycode domain

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine bestimmte Domain auf eine externe Domain umleiten derkrebs Server-Seite allgemein 2 30-09-2009 19:16
www.domain.de/dir/ ruft www.domain.de/dir.php auf webxvideo PHP und MySQL 2 14-04-2008 11:52
FLash auf Domain A will PHP auf Domain B abrufen echo5-7 ActionScript 1 2 14-01-2008 13:04
player auf domain A in domain B einbetten jav666 Flash MX 4 05-10-2007 18:08
wichtig! domain() in Flash6 gibt nicht den "vollen" domain namen zurück tomwing Flash MX 4 20-09-2004 23:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele