I socket non funzionano in Flash Player

Con versioni di Adobe Flash Player superiori alla 9.0.115.0, qualsiasi configurazione seguente potrebbe non funzionare come previsto:

  • Un file SWF tenta di eseguire una connessione XMLSocket o socket nel proprio host, senza eseguire una chiamata loadPolicyFile per recuperare un file di criteri socket.
  • Un file SWF tenta di eseguire una connessione XMLSocket o socket nel proprio host e carica un file di criteri che non elenca il proprio dominio all’interno dei domini consentiti.
  • Un file SWF tenta di eseguire una connessione XMLSocket o socket in qualsiasi host, con un file di criteri HTTP che consente l’autorizzazione.

Consulta la sezione Diagnosi per istruzioni per determinare se questa modifica influisce sul sito.

Motivo

Le versioni di Flash Player superiori alla 9.0.115.0 modificano i requisiti di autorizzazione per connessioni socket e i file dei criteri HTTP non autorizzano più le connessioni socket. Flash Player è dotato di due tipi di file di criteri:

  • I file dei criteri HTTP, ovvero file crossdomain.xml su un server che definiscono se i file SWF da altri domini possano caricare il contenuto del server.
  • I file dei criteri socket, che definiscono le porte a cui Flash Player può connettersi tramite connessioni Socket o XMLSocket.

Nelle versioni precedenti, un file dei criteri socket, ovvero un file dei criteri distribuito da un socket, non deve connettersi a numeri di porta superiori a 1024, se

  • il dominio che ha inviato il file SWF è lo stesso del dominio della connessione socket e
  • il dominio ha ospitato un file crossdomain.xml.

Questa configurazione precedente presentava un rischio per i clienti, poiché un numero sempre maggiore di servizi critici sono serviti da porte superiori alla 1024. Questa modifica aiuta inoltre a mitigare la possibilità di un attacco rebinding DNS tramite i socket Flash Player per raggiungere l’host della vittima. Per risolvere questo problema, Flash Player richiede ora un file dei criteri socket per tutte le connessioni socket, indipendentemente dalla porta di destinazione e dalla presenza di un file crossdomain.xml. È ora disponibile una posizione principale fissa per i file dei criteri socket sulla porta 843. Il file dei criteri in questa porta sarà in grado di definire i metacriteri che definiscono se altri file dei criteri socket sono consentiti nell’host. Per impostazione predefinita, tutti i file dei criteri socket sono riconosciuti.

Se i file SWF possono connettersi in precedenza all’host di origine su porte superiori alla 1024 a causa di un file crossdomain.xml, è ora necessario possedere un file dei criteri socket. Il file dei criteri socket può essere servito da una porta di criteri socket principale (843) o dalla stessa porta della connessione socket.

Diagnosi

Utilizza le seguenti informazioni per determinare se questa modifica influisce sul sito. Flash Player 9.0.115.0 ha introdotto una nuova funzionalità di accesso al file dei criteri. Il registro del file dei criteri mostra messaggi per ogni evento relativo ai file dei criteri: tenta di recuperarli, elaborazione completata e non riuscita e destini delle richieste che da loro dipendono. Puoi individuare un riferimento completo ai messaggi di registro file dei criteri nell’allegato B di Modifiche al file dei criteri in Flash Player 9 e 10.

Per utilizzare il registro del file dei criteri:

  1. Installa una versione di debug di Flash Player 9.0.115.0 o versioni successive. Puoi utilizzare qualsiasi tipo di Flash Player: ActiveX, Plug-In o Standalone. Puoi ottenere una versione di debug di Flash Player dal centro di download di Flash Player.
  2. Individua la posizione del file di configurazione mm.cfg. Si tratta di un file di configurazione di debug generale letto dalle versioni di debug di Flash Player all’avvio. Il file mm.cfg si trova nella directory principale. Ad esempio:

    • Windows: C:\Documents and Settings\nome utente
    • Windows Vista: C:\Users\nome utente
    • Mac OS e Linux: /home/nome utente
  3. Crea mm.cfg se non esiste e quindi aggiungi una o entrambe le seguenti righe:

    • PolicyFileLog=1 # consente la registrazione del file dei criteri
    • PolicyFileLogAppend=1 # facoltativo; non pulisce il registro all’avvio
    • Se PolicyFileLogAppend non è attivato, ogni nuovo SWF a livello di root pulirà il file di registro. Se policyfilelogappendpolicyfilelogappend<> è attivato, i contenuti precedenti del file di registro verranno sempre mantenuti e il file di registro aumenterà al termine.

    Se numerosi file SWF a livello di root sono caricati durante il test, si consiglia di attivare PolicyFileLogAppend. Tuttavia, se attivi PolicyFileLogAppend, dovrai probabilmente rinominare manualmente o eliminare il file di registro per impedirgli di raggiungere dimensioni elevate e sarà difficile determinare dove l’output precedente termina e il nuovo inizia.

  4. Individua la posizione in cui il registro del file dei criteri policyfiles.txt verrà sovrascritto. È possibile che non esista ancora; Flash Player lo creerà alla prossima esecuzione del file SWF. Puoi individuare policyfiles.txt nelle seguenti posizioni:
    • Windows: C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs
    • Windows Vista: C:\Users\username[ AppData]\Roaming\Macromedia\Flash Player\Logs
    • Mac OS: /Users/username/Library/Preferences/Macromedia/Flash Player/Logs (non è comune per un programma scrivere file di registro nella directory delle preferenze, ma è ciò che accade)
    • Linux: /home/username/.macromedia/Flash_Player/Logs
  5. Per verificare la configurazione, esegui un file SWF in Flash Player, quindi chiudi Flash Player (o il browser).

  6. Puoi ora visualizzare policyfiles.txt nella directory dei registri. Verifica l’ora di modifica recente. Aprilo e verifica che venga visualizzato almeno un messaggio (“SWF a livello root caricato”). In tal caso, la registrazione del file dei criteri funziona.

  7. Visita il contenuto SWF necessario da testare. Esegui il contenuto in qualsiasi scenario che permetterà di riscontrare i file dei criteri. Chiudi Flash Player al termine.
  8. Leggi policyfiles.txt per informazioni su ciò che accade ai file dei criteri durante l’esecuzione del test. Se visualizzi messaggi non chiari, consulta Modifiche al file dei criteri in Flash Player 9 e 10.

  9. Se trovi informazioni utili in policyfiles.txt da conservare per riferimenti futuri, rinomina il file di registro diversamente da policyfiles.txt o spostalo in un’altra directory, in modo che Flash Player non sovrascriva il registro alla successiva esecuzione.

Soluzione: crea un file dei criteri socket che consente la connessione all’host

Per risolvere questo problema, devi creare un file dei criteri socket che consente la connessione all’host. Questo file dei criteri può essere servito da una posizione di criteri socket principale sulla porta 843 o dalla porta di destinazione della connessione socket. Il file di criteri socket deve includere tutti i domini con connessione consentita al socket, incluso lo stesso. Se il file di criteri socket è ospitato dalla posizione del file di criteri principale, includi i metacriteri in cui i file di criteri socket possono essere individuati.

Le modifiche ai file di criteri socket sono descritte nel dettaglio in Modifiche al file dei criteri in Flash Player 9 e 10. (I messaggi di registro sono descritti dettagliatamente nell’allegato B.)

Ulteriori riferimenti

Per informazioni sulla sicurezza di Flash Player, consulta la pagina di protezione Flash Player.

Le modifiche ai file di criteri socket e nei diversi domini sono inoltre descritte dettagliatamente in Modifiche al file dei criteri in Flash Player 9 e 10.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online