X-Frame-Options: SAMEORIGIN
başlığını, iframe için içerik oluşturması gereken bazı eylemlerimden kaldırmam gerekiyor. İsteklere varsayılan olarak eklendiği sürece, Startup.cs
: services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = false);
: services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = false);
'da devre dışı bıraktım. Sonuç filtre özniteliği ile dekore alanlar arası isteklere cevap vermek gerekliASP.Net Temel: X-Frame-Options garip davranışı
app.Use(async (context, next) =>
{
context.Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
await next();
});
Eylemler:
public class SuppresXFrameOptionFilter : ResultFilterAttribute
{
public override async Task OnResultExecutionAsync(ResultExecutingContext context,
ResultExecutionDelegate next)
{
context.HttpContext.Response.Headers.Remove("X-Frame-Options");
await next();
}
}
İşte weiredness geliyor Sonra basit bir ara yazılım yazdı. İlk çapraz etki alanı isteği başarısız olur, çünkü filtrenin sonunda beklendiği gibi çalıştığı
X-Frame-Options: SAMEORIGIN
hala yanıtta (ben
next()
ara yazılımda kontrol ettim - başlık yeniden belirlendi). F5 tuşuna basarsam, başlık artık cevapta kalmaz ve her şey gerektiği gibi çalışır. Bu yalnızca
X-Frame-Options
başlığı ile gerçekleşir, özel bir doğru kaldırılır. Kaldırılan
X-Frame-Options
neyi tekrardan bir yanıtta görünüyor?