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.
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:
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.
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):
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:
Fügen Sie der RegisterGlobalFilters
Methode in FilterConfig.cs
:
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%Tags und Links asp.net-mvc c# asp.net iis iframe