2016-07-26 8 views
1

Ich habe eine Website übernommen, die zuvor HSTS verwendet, aber wegen einiger iframes, die ich einbetten muss, muss ich es deaktivieren. Ich kann intelligent von einem Protokoll zum anderen umleiten, aber insbesondere Safari möchte seinen HSTS-Cache nicht ignorieren.Anfrage Safari Web-Client zu ignorieren HSTS

In dieser Frage (Is it possible to ask your users to clear their HTTP Strict Transport Security (HSTS) for your site?) und auf anderen Seiten, die ich gesehen habe, dass ich Browser anfordern kann meine Seite von ihrem HSTS Cache zu entfernen, indem das Senden der folgenden Header:

Strict-Transport-Security: max-age=0 

jedoch doesn Safari‘ Das scheint mir egal zu sein. Auf dem Computer eines Mitarbeiters, der die Site in seinem HSTS-Cache hat, verhindert das Empfangen dieser Header nicht, dass es automatisch zu https umleitet.

Wer weiß eine Möglichkeit, Safari zu sagen, HSTS zu ignorieren?

+0

Ist es möglich, dass es zuvor mit einem "preload" gesendet wurde? In Chrome wäre dies im Wesentlichen Teil von Feeds von Google-Servern in Chrome. Safari kann etwas ähnliches tun. –

+0

Ssllabs (https://www.ssllabs.com/ssltest/) bietet eine einfache Möglichkeit alle Preload-Listen zu überprüfen. Es hat keinen für Safari, aber kann zumindest andere überprüfen (welche Safari noch benutzen könnte). Um nicht zu sagen, dass es nicht in der preload-Liste war und jetzt entfernt wurde. –

+0

Danke @JoshuaDeWald. Es ist möglich und scheint logisch. – jacobe

Antwort

0

Es könnte auf der Top-Level-Domain eingestellt werden.

Wenn Sie sich also www.example.com ansehen, wurde die Richtlinie möglicherweise von example.com mit der Option includeSubDomains veröffentlicht, so dass sie alle Subdomains (einschließlich www-Subdomain) betrifft.

Wenn ja, ist die Antwort ähnlich. Veröffentlichen Sie diesen Header aus der Basisdomäne und stellen Sie sicher, dass Sie die Basisdomäne besuchen (auch wenn sie nur zur Hauptdomäne weitergeleitet wird).

Strict-Transport-Security: max-age=0; includeSubDomains 

Überprüfen Sie auch die Preload-Listen für die Basisdomäne.

Wäre es auch wert, durch Web-Konfiguration und alle Skripte oder dynamische Teile der Website (z. B. PHP, Java Servlets usw.) zu suchen, um sicherzustellen, dass etwas noch nicht setzt, wenn Sie zum Beispiel eine bestimmte Seite besuchen .

+0

Ich * habe * tatsächlich die Top-Level-Domain überprüft. Unsere Website wird (und wurde) immer von example.com (nicht www.example.com) geschaltet. Gute Idee, die alle gedienten Vermögenswerte betrachtet. Das habe ich noch nicht überprüft. – jacobe