मुझे अपने कुछ कार्यों से X-Frame-Options: SAMEORIGIN
शीर्षलेख को निकालना होगा, जो किसी आईफ्रेम के लिए सामग्री प्रस्तुत करना चाहिए। जब तक इसे डिफ़ॉल्ट रूप से अनुरोधों में जोड़ा जाता है, मैंने इसे Startup.cs
: services.AddAntiforgery(o => o.SuppressXFrameOptionsHeader = false);
में अक्षम कर दिया।एएसपी.Net कोर: एक्स-फ़्रेम-विकल्प अजीब व्यवहार
app.Use(async (context, next) =>
{
context.Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
await next();
});
क्रिया क्रॉस-डोमेन अनुरोध करने के लिए जवाब देने के लिए परिणाम फिल्टर विशेषता के साथ सजाया जाता जरूरत::
public class SuppresXFrameOptionFilter : ResultFilterAttribute
{
public override async Task OnResultExecutionAsync(ResultExecutingContext context,
ResultExecutionDelegate next)
{
context.HttpContext.Response.Headers.Remove("X-Frame-Options");
await next();
}
}
यहाँ weiredness आता है तो मैं एक साधारण मिडलवेयर लिखा था। पहला क्रॉस-डोमेन अनुरोध विफल रहता है क्योंकि फ़िल्टर के बावजूद X-Frame-Options: SAMEORIGIN
अंत में अपेक्षित में काम करता है प्रतिक्रिया में अभी भी मौजूद है (मैंने इसे next()
के बाद मिडलवेयर में चेक किया - हेडर फिर से दिखाई दिया)। अगर मैं F5 दबाता हूं तो हेडर प्रतिक्रिया में अब नहीं है और यह सब कुछ काम करता है जैसा कि करना चाहिए। यह केवल X-Frame-Options
शीर्षलेख के साथ होता है, एक कस्टम एक सही ढंग से हटा दिया जाता है। X-Frame-Options
क्या बनाता है जिसे एक प्रतिक्रिया में फिर से हटा दिया गया है?