Das Entfernen von X-Frame-Optionen wird nur auf der Anmeldeseite automatisch hinzugefügt

8

Ich entwickle eine ASP.NET MVC-Anwendung, die in einem iframe auf einer anderen Website geladen werden muss. Die Login-Seite erscheint jedoch nicht in iframe , da ein Header in der Antwort X-Frame-Options gesendet wird, die auf SAMEORIGIN gesetzt ist. Browser zeigt deshalb die Seite in iframe nicht an. Ich habe bereits gegoogelt und mehrere Dinge ausprobiert, aber nichts hat funktioniert.

Ich verwende die ASP.NET-Formularauthentifizierung. In diesem Fall fügt IIS diesen Header auf der Anmeldeseite hinzu, um zusätzliche Sicherheit zu gewährleisten. Aber ich muss das in meinem Anwendungsfall loswerden.

Ich habe versucht, einen benutzerdefinierten Header hinzuzufügen

%Vor%

Aber die SAMEORGIN wird immer noch in der Kopfzeile mit Komma hinzugefügt.

Ich habe auch versucht, Header-Wert aus C # mit Response.Headers["X-Frame-Options"] = "ALLOW" hinzuzufügen. Es verursacht zwei Header mit demselben Namen.

Ich habe das auch in web.config

versucht %Vor%

Es hat auch nicht funktioniert.

    
shashwat 21.05.2015, 10:29
quelle

2 Antworten

18

MVC 5 fügt automatisch einen X-Frame-Options-Header hinzu, also gehe zu deiner Global.asax -Datei und füge diese zur Application_Start() -Methode hinzu:

%Vor%

Bitte beachten Sie, dass es besonders für eine Login-Seite eine schlechte Idee ist, diesen Header zu entfernen, da er Ihre Website für Phishing-Angriffe mit Anmeldedaten öffnet. Wenn diese Seite öffentlich zugänglich ist, empfehle ich dringend, diese Überschrift zu behalten.

    
Florian Haider 21.05.2015, 11:32
quelle
1

Alte Frage, aber für andere Personen, die nach ähnlichen Fragen suchen, können Sie die X-Frame-Options in bestimmten Aktionen mit der folgenden Lösung entfernen:

Fügen Sie zuerst diesen Code zur Methode Application_Start in Global.asax.cs hinzu (wie @Florian Haider sagte):

%Vor%

Dies unterdrückt den Header in alle Aktionen . Fügen Sie eine neue Datei mit dem Namen NoIframeAttribute.cs hinzu, die den folgenden Code enthält:

%Vor%

Fügen Sie der RegisterGlobalFilters Methode in FilterConfig.cs :

die folgende Zeile hinzu %Vor%

Jetzt haben wir die Kopfzeile wieder allen Aktionen hinzugefügt. Aber jetzt können wir es bei Bedarf entfernen. Fügen Sie einfach die folgende Zeile hinzu:

%Vor%     
Ahmad Badkoubehei 15.09.2017 17:21
quelle

Tags und Links