Refaktorierung für HTML-Sanitization mit neuer Sanitizer-Klasse.
- Bestehende Sanitization überarbeitet. - Injektionsmethode für flexible Konfiguration implementiert. - Wichtige Abschnitte in `show-envelope` hervorgehoben.
This commit is contained in:
17
EnvelopeGenerator.Web/Sanitizers/DIExtensions.cs
Normal file
17
EnvelopeGenerator.Web/Sanitizers/DIExtensions.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Ganss.Xss;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Sanitizers
|
||||
{
|
||||
public static class DIExtensions
|
||||
{
|
||||
public static IServiceCollection AddSanitizer<THtmlSanitizer>(this IServiceCollection services, Action<THtmlSanitizer>? optionActions = null)
|
||||
where THtmlSanitizer : HtmlSanitizer => services
|
||||
.AddSingleton(serviceProvider =>
|
||||
{
|
||||
var sanitizer = ActivatorUtilities.CreateInstance<THtmlSanitizer>(serviceProvider);
|
||||
optionActions?.Invoke(sanitizer);
|
||||
return sanitizer;
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using Ganss.Xss;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Sanitizers
|
||||
{
|
||||
public class HighlightHtmlSanitizer : HtmlSanitizer
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user