mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-18 08:06:35 +00:00
add xframe setting
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Funq;
|
||||
using MediaBrowser.Common;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Server.Implementations.HttpServer.SocketSharp;
|
||||
@@ -43,6 +44,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
|
||||
public string CertificatePath { get; private set; }
|
||||
|
||||
private readonly IServerConfigurationManager _config;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the local end points.
|
||||
/// </summary>
|
||||
@@ -62,13 +65,14 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
}
|
||||
|
||||
public HttpListenerHost(IApplicationHost applicationHost,
|
||||
ILogManager logManager,
|
||||
ILogManager logManager,
|
||||
IServerConfigurationManager config,
|
||||
string serviceName,
|
||||
string defaultRedirectPath,
|
||||
params Assembly[] assembliesWithServices)
|
||||
string defaultRedirectPath, params Assembly[] assembliesWithServices)
|
||||
: base(serviceName, assembliesWithServices)
|
||||
{
|
||||
DefaultRedirectPath = defaultRedirectPath;
|
||||
_config = config;
|
||||
|
||||
_logger = logManager.GetLogger("HttpServer");
|
||||
|
||||
@@ -115,7 +119,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
}
|
||||
});
|
||||
|
||||
HostContext.GlobalResponseFilters.Add(new ResponseFilter(_logger).FilterResponse);
|
||||
HostContext.GlobalResponseFilters.Add(new ResponseFilter(_logger, () => _config.Configuration.DenyIFrameEmbedding).FilterResponse);
|
||||
}
|
||||
|
||||
public override void OnAfterInit()
|
||||
|
||||
@@ -12,10 +12,12 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
{
|
||||
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
|
||||
private readonly ILogger _logger;
|
||||
private readonly Func<bool> _denyIframeEmbedding;
|
||||
|
||||
public ResponseFilter(ILogger logger)
|
||||
public ResponseFilter(ILogger logger, Func<bool> denyIframeEmbedding)
|
||||
{
|
||||
_logger = logger;
|
||||
_denyIframeEmbedding = denyIframeEmbedding;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -28,7 +30,11 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
{
|
||||
// Try to prevent compatibility view
|
||||
res.AddHeader("X-UA-Compatible", "IE=Edge");
|
||||
res.AddHeader("X-Frame-Options", "DENY");
|
||||
|
||||
if (_denyIframeEmbedding())
|
||||
{
|
||||
res.AddHeader("X-Frame-Options", "DENY");
|
||||
}
|
||||
|
||||
var exception = dto as Exception;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Common;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using ServiceStack.Logging;
|
||||
@@ -15,17 +16,19 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
/// </summary>
|
||||
/// <param name="applicationHost">The application host.</param>
|
||||
/// <param name="logManager">The log manager.</param>
|
||||
/// <param name="config">The configuration.</param>
|
||||
/// <param name="serverName">Name of the server.</param>
|
||||
/// <param name="defaultRedirectpath">The default redirectpath.</param>
|
||||
/// <returns>IHttpServer.</returns>
|
||||
public static IHttpServer CreateServer(IApplicationHost applicationHost,
|
||||
ILogManager logManager,
|
||||
public static IHttpServer CreateServer(IApplicationHost applicationHost,
|
||||
ILogManager logManager,
|
||||
IServerConfigurationManager config,
|
||||
string serverName,
|
||||
string defaultRedirectpath)
|
||||
{
|
||||
LogManager.LogFactory = new ServerLogFactory(logManager);
|
||||
|
||||
return new HttpListenerHost(applicationHost, logManager, serverName, defaultRedirectpath);
|
||||
return new HttpListenerHost(applicationHost, logManager, config, serverName, defaultRedirectpath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user