ist es möglich, eine Flex-Anwendung nur von meiner Domain ausführen zu lassen? So kann ein Benutzer die .swf nicht kopieren und lokal starten.Wie schränkt man ein Flex-Programm so ein, dass es nur von meiner Website läuft?
Antwort
In vielen Fällen wird dies aufgrund des Sicherheitsmodells, das mit crossdomain.xml verknüpft ist, nicht funktionieren.
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
Sagen Sie zum Beispiel, habe ich eine Flex-Anwendung, die einen Service-Aufruf hat und anmelden, um meine Back-End-Datenbank (vielleicht PHP und MySQL). Sofern ich sie nicht explizit in der Richtliniendatei crossdomain.xml aktiviere, kann die App nicht mit meinem Server kommunizieren, es sei denn, die swf-Datei wird direkt von meiner Domain geladen. Wenn die App lokal wäre, würde sie auf meinem Server aussehen, wie localhost versuchte, über die Flex-App auf mein Backend zuzugreifen. Daher würde dies standardmäßig nicht funktionieren, wenn nicht eine explizite Regel in der crossdomain.xml gesetzt wurde, um den Zugriff von localhost zu erlauben. Ebenso kann jemand nicht einfach den swf auf einen anderen Server legen und versuchen, von meinem Server aus zuzugreifen, wenn ich diesen fernen Server der crossdomain.xml-Richtlinie hinzufüge.
Also zurück zu Ihrer Frage. Offensichtlich trifft dieses crossdomain.xml-Zeug nicht wirklich zu, wenn Ihre Flex-App wirklich einfach ist und nicht versucht, Serviceanrufe an einen Server zu senden. Zum Beispiel, wenn Sie ein einfaches Spiel haben, das einfach lädt und ohne zusätzliche Server-Aufrufe im Flex-Spiel spielt.
Wenn Sie Ihre App schützen möchten, können Sie während der Startreihenfolge einen einfachen "Telefon-Heim" -Prozess durchführen, der einen sehr einfachen Serveranruf auf Ihre Website ermöglicht. Es muss nicht alles sehr kompliziert sein, nur einen Round-Trip-Service-Anruf beim Start Ihrer App erfordern. Suchen Sie vielleicht nach einem einfachen Schlüssel oder einer Zeichenfolge, die in einer Variablen auf der PHP-Seite gespeichert sind, und lassen Sie die Flex-Anwendung nur laufen, wenn dieser Schlüssel gültig ist. Sie können den erwarteten Schlüssel im ActionScript fest codieren. Oder haben Sie vielleicht einen Basis-Logger, der verfolgt, wie oft die App gestartet wird und den Zählerstand in einer Datenbank oder etwas speichert. Die Hauptsache ist, dass die App nicht vollständig gestartet werden darf, bis diese Anfrage an den Server ein gültiges Ergebnis zurückgegeben hat.
Wenn Sie dies an Ort und Stelle haben, treten die crossdomain.xml Richtlinien ein und wenn jemand Ihr swf herunterlädt, sollte es nicht funktionieren, weil es versuchen wird, einen Anruf von localhost zu Ihrem Server zu machen. Oder wenn sie Ihre App stehlen und auf ihrer Website hosten, sollte es auch nicht funktionieren.
Überprüfen Sie flash.System.Capabilities.playerType auch auf LiveDocs.
Der einfachste Lösung il wahrscheinlich den Wert von
Application.application.loaderInfo.url
beim Anwendungsstart (zum Beispiel im Fall application) zu überprüfen und es mit Ihrer Website-Domain entsprechen.
- 1. Wie schränkt man ein Protokoll nur auf Werttypen ein?
- 2. Wie schränkt man ein Attribut eines Elements in XSD ein?
- 3. Wie schränkt man die% Funktionalität von vim ein?
- 4. Wie schränkt man die Registrierung ein und erstellt eigene Anmeldedaten?
- 5. Wie schränkt man Google Formular-Antworten auf angemeldete Benutzer ein?
- 6. Wie schränkt man Einkäufe auf NUR IP-Adressen in den USA mit Ruby/Rails ein?
- 7. Wie schränkt man eine Ansicht auf Superuser ein?
- 8. Wie schränkt man eine Methode auf einen bestimmten Thread ein?
- 9. Wie schränkt man die Bandbreite mit Java netty korrekt ein?
- 10. Wie schränkt man die wählbaren Datumsbereiche in Bootstrap Datepicker ein?
- 11. Wie schränkt man die automatische Vervollständigung in Webstorm ein?
- 12. Wie stelle ich og: image so ein, dass es ein Bild von einer Seite aufnimmt?
- 13. Wie läuft man ein Haskell-Programm endlos nur mit Haskell?
- 14. Wie schränkt man Dateitypen mit HTML-Eingabedateityp ein?
- 15. React Router - Wie schränkt man Params in der Routenanpassung ein?
- 16. Eines meiner Skripte verhindert, dass ein anderer
- 17. Wie schränkt man den Benutzer ein, um nur auf seine Gruppenelemente in Loopback zuzugreifen?
- 18. SQL Server: Wie schränkt man ein, dass eine Tabelle eine einzelne Zeile enthält?
- 19. Wie startet man den Prozess über SSH, so dass es läuft?
- 20. SQL Server schränkt Benutzer nur auf ausgewählte gespeicherte Prozeduren ein
- 21. Verhindern, dass ein Besucher ein Bild von meiner Site speichert
- 22. Wie richte ich rsync so ein, dass es nur ausgeführt wird, wenn das Zielverzeichnis existiert?
- 23. Wie schränkt man die Dateitypen in FileUpload in MVC3 ein?
- 24. Wie stelle ich sicher, dass Anfragen von meiner Website stammen?
- 25. Gibt es eine Möglichkeit, ein Bild so zu verzerren, dass es wie ein Welleneffekt aussieht?
- 26. Wie kann man so machen, dass man nur ein Datum eingeben kann?
- 27. "suexec Richtlinienverstoß" verhindern, dass meine Website läuft?
- 28. Wie schränke ich AWS CloudFont so ein, dass es nur Anfragen aus einem einzigen Verzeichnis meiner Domain bedient?
- 29. Wie kann ich meiner Website ein Google-Suchfeld hinzufügen?
- 30. Wie schränkt man die CPU-Auslastung ein, die ein C# -Programm benötigt?