5

Content Security Policy specification saysX-Frame-Options oraz Content-Security-Policy dla ramek w Firefoksie

Dyrektywa klatka przodkowie obsoletes nagłówka X-Frame-Options. Jeśli zasób ma obie zasady, NALEŻY egzekwować zasady ramka-przodka, a zasady X-Frame-Opcji POWINNY być zignorowane.

Więc z mojego zrozumienia, jeśli oba nagłówki Content-Security-Policy i X-Frame-Options są obecne, to X-Frame-Options powinny być ignorowane.

Mam aplikację internetową z obydwoma nagłówkami i wygląda na to, że Firefox 38 jest ignorowany w nagłówku Content-Security-Policy i używa zamiast tego nagłówka X-Frame-Options.

Nagłówki Przykładowe to:

Content-Security-Policy:frame-ancestors 'self' local.com *.local.com 
X-Frame-Options:Allow-From http://local.com 

chcę, że moja rama powinna być dostępna z local.com i wszystkich subdomen. Local.com to tylko przykład. Jeśli nagłówek X-Frame-Options jest obecny, to zezwala tylko na http://local.com, ale jeśli go usunę, Firefox używa nagłówka Content-Security-Policy i działa dobrze dla domeny i subdomen.

Czy to znaczy, że Firefox nie implementuje tej części? Czy jest to po prostu zbyt nowa specyfikacja i Firefox jej jeszcze nie implementuje? Czy jest jakiś inny sposób na użycie nagłówka Content-Security-Policy?

Wiem, że Chrome działa dobrze z Content-Security-Policy, a IE działa tylko z X-Frame-Options, ale wygląda na to, że nie mogę połączyć obu nagłówków, ponieważ Firefox działa nieprawidłowo.

Jednym ze sposobów jest wysłanie X-Frame-Options tylko dla IE i Content-Security-Policy dla wszystkich innych, ale czy jest lepszy sposób?

Dzięki!

Odpowiedz

5

frame-ancestors pojawił się tylko na poziomie 2 CSP (patrz: changelog), więc jest bardzo prawdopodobne, że Firefox 38 jeszcze go nie wdrożył.

Możesz to łatwo sprawdzić, oglądając konsolę JavaScript - przeglądarka wyświetli ostrzeżenia o każdej z dyrektyw CSP, których nie rozumie.

Można również pobrać Firefoksa z beta kanał i zobaczyć, czy to robi różnicę, ale oczywiście to nie pomoże dużo, jeśli tylko chcą budować interoperacyjne rozwiązania dla strony produkcyjnej ...

+0

myślałem że jest nowy, ale miałam nadzieję, że coś przeoczyłem. Wygląda na to, że musiałbym wysyłać nagłówki w oparciu o przeglądarkę. Dziękuję za odpowiedź! –

+0

Firefox 47.0 - ten sam – gshilin

+0

To samo z Firefoksem 50.1 - najwyraźniej Mozilla nie wdrożyła jeszcze oficjalnej specyfikacji CSP. :/ – qJake