Kontakter fungerer ikke i Flash Player

Med nyere Adobe Flash Player-versjoner enn 9.0.115.0. vil kanskje ikke noen av følgende konfigurasjoner fungerer som tenkt:

  • En SWF-fil forsøker en kontakt eller XMLSocket-tilkobling tilbake til sin egen vert, uten å foreta et loadPolicyFile-anrop for å hente en kontaktfremgangsmåtefil.
  • En SWF-fil forsøker en kontakt eller XMLSocket-tilkobling tilbake til sin egen vert, og laster en policy-fil som ikke lister sitt eget domene innen de tillatte domenene.
  • En SWF-fil forsøker en kontakt eller XMLSocket-tilkobling tilbake til en vert, med en HTTP-policyfil som gir tillatelse.

Se Diagnose-delen for instruksjoner for å fastslå om denne endringen berører din side.

Årsak

Nyere Flash Player-versjoner enn 9.0.115.0 endrer tillatelseskravene for kontakttilkoblinger, og HTTP-policyfiler godkjenner ikke lenger kontakttilkoblinger. Flash Player har to typer policyfiler:

  • HTTP-policyfiler, som crossdomain.xml-filer på en server, som definerer om SWF-filer fra andre domener kan laste den serverens innhold.
  • Kontaktpolicyfiler, som definerer portene Flash Player koble til med Socket- eller XMLSocket-tilkoblinger.

I tidligere versjoner krevdes ikke en socketpolicyfil, som er en policyfil distribuert av en kontrakt, til å koble til porter større enn 1024, hvis

  • domenet som betjente SWF-filen var det samme som domenet til socket-tilkoblingen, og
  • brukerdomenet var vert for en crossdomain.xml-fil.

Denne tidligere konfigurasjonen utgjorde en risiko for kunder siden et økende antall kritiske tjenester betjenes fra porter større enn 1024. Denne endringen hjelper også med å dempe muligheten for et DNS-rebindingsangrep med Flash Player-kontakter for å nå offerets vert. For å gjøre dette problemet mindre krever Flash Player nå en socketpolicyfil for alle sockettilkoblinger, uavhengig av destinasjonsporten og tilstedeværelsen av en crossdomain.xml-fil. Det er nå en fast hovedplassering for socketpolicyfiler på port 843. Policyfilen på denne porten vil kunne definere meta-policyer som definerer om andre sockektpolicyfiler er tillatt på verten. Som standard anerkjennes alle socketpolicyfiler.

Hvis dine SWF-filer tidligere kunne koble til deres opprinnelsesverter på porter større enn 1024 fordi det var en crossdomain.xml-fil, må du nå ha en socketpolicyfil. Socketpolicyfilen kan betjenes enten fra hovedsocketpolicyporten (843) eller fra samme port som sockettilkoblingen.

Diagnose

Bruk følgende informasjon for å fastslå om denne endringen berører din side. Flash Player 9.0.115.0 introduserte policyfillogging, en ny funksjon. Policyfilloggen viser meldinger for hver hendelse relatert til policyfiler: forsøk på å hente dem, hell og uhell med å behandle dem, og skjebnene til forespørslene som avhenger av dem. Du kan finne en komplett referanse til policyfilloggmeldinger i vedlegg B av Policyfilendringer i Flash Player 9 og 10.

For å bruke policyfilloggen:

  1. Installer en feilsøkingsversjon av Flash Player 9.0.115.0 eller nyere. Du kan bruke alle typer Flash Player: ActiveX, Plugin-modul, eller frittstående. Du kan få feilsøkingsversjonen av Flash Player fra støttesenteret for nedlastinger for Flash Player.
  2. Fastslå plasseringen for din mm.cfg-konfigurasjonsfil. Dette er en generell feilsøkingskonfigurasjonsfil som feilsøker versjoner av Flash Player lest ved oppstart. Filen mm.cmg er plassert i din hjemkatalog. Eksempel:

    • Windows : C:\Dokumenter og innstillinger\[Brukernavn
    • Windows Vista: C:\Brukere\brukernavn
    • Mac OS og Linux: /home/username
  3. Opprett mm.cfg hvis den ikke eksisterer, og legg deretter til en eller begge av følgende linjer:

    • PolicyFileLog=1 # Aktiver policyfillogging
    • PolicyFileLogAppend=1 # Valgfritt; ikke tøm logg ved oppstart
    • Hvis PolicyFileLogAppend ikke er aktivert, vil hvert SWF på rotnivå slette loggfilen. Hvis policyfilelogappendpolicyfilelogappend<> er aktivert, vil det tidligere innholdet i loggfilen alltid bli beholdet, og loggfilen vil bli større på slutten.

    Hvis mange forskjellige SWF-filer på rotnivå lastes under testingen, vil du sannsynligvis ønske å aktivere PolicyFileLogAppend. Hvis du aktiverer PolicyFileLogAppend, vil du trolig måtte gi nytt navn manuelt eller slette loggfilen av og til ellers vil den bli veldig stor, og det vil bli vanskelig å fastslå hvor tidligere utmating slutter og ny utmating begynner.

  4. Finn plasseringen der policyfiles.txt, policyfilloggen, vil bli skrevet. Den eksisterer ikke nødvendigvis ennå; Flash Player vil opprette den neste gang en SWF-fil kjøres. Du kan finne policyfiles.txt på følgende steder:
    • Windows: C:\Dokumenter og innstillinger\brukernavn\Application Data\Macromedia\Flash Player\Logger
    • Windows Vista: C:\Users\username[ AppData]\Roaming\Macromedia\Flash Player\Logs
    • Mac OS: /Users/username/Library/Preferences/Macromedia/Flash Player/Logs (det er uvanlig for et program å skrive loggfiler til Preferanser-katalogen, men det er faktisk tilfellet)
    • Linux: /home/username/.macromedia/Flash_Player/Logs
  5. For å sjekke ditt oppsett kjører du en SWF-fil i Flash Player, og velger deretter Flash Player (eller nettleseren).

  6. Du ser nå policyfiles.txt i katalogen Logger. Verifiser at den har en nylig endringstid. Åpne den og bekreft at minst en melding vises («SWF på rotnivå lastet»). I så fall virker policyfillogging.

  7. Gå til SWF-innhold du må teste. Kjør innholdet gjennom scenarier som vil føre til at det støter på policyfiler. Lukk Flash Player når du er ferdig.
  8. Les policyfiles.txt for informasjon om hva som skjedde med policyfiler under testkjøringen din. Hvis du ser uklare meldinger, se Policyfilendringer i Flash Player 9 og 10.

  9. Hvis du finner nyttig informasjon i policyfiles.txt som du må beholde for fremtidig referanse, gir du loggfilen nytt navn til noe annet enn policyfiles.txt, eller flytter den til en annen katalog, slik at Flash Player ikke overskriver loggen når den kjører igjen.

Løsning: Opprett en socketpolicyfil som tillater tilkobling til vert

For å adressere dette problemet må du opprette en socketpolicyfil som tillater tilkobling til verten. Denne policyfilen kan betjenes enten fra hovedsocketpolicyplasseringen på port 843 eller fra destinasjonsporten til sockettilkoblingen. Socketpolicyfilen må inkludere alle domener som er tillatt å koble til socket, inkludert seg selv. Hvis socketpolicyfilen er vert fra hovedpolicyfilplasseringen, inkluderer du metapolicyer der socketpolicyfiler har lov å lokaliseres.

Endringer for socketpolicyfiler er beskrevet i detalj i Policyfilendringer i Flash Player 9 og 10. (Loggmeldinger er beskrevet i detalj i vedlegg B.)

Flere referanser

For sikkerhetsinformasjon om Flash Player går du til Flash Player-sikkerhetssiden.

Endringer i kryssdomene og kontaktpolicyfiler er også beskrevet i detalj i Policyfilendringer i Flash Player 9 og 10.

Dette produktet er lisensiert i henhold til Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Innlegg på Twitter™ og Facebook dekkes ikke av Creative Commons-vilkår.

Juridiske merknader   |   Regler for personvern på nettet