Merge branch 'v9/dev' into v9/9.3
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
"version": {
|
||||
"type": "parameter",
|
||||
"datatype": "string",
|
||||
"defaultValue": "9.3.0-rc",
|
||||
"defaultValue": "9.3.0",
|
||||
"description": "The version of Umbraco to load using NuGet",
|
||||
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
|
||||
},
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
"version": {
|
||||
"type": "parameter",
|
||||
"datatype": "string",
|
||||
"defaultValue": "9.3.0-rc",
|
||||
"defaultValue": "9.3.0",
|
||||
"description": "The version of Umbraco to load using NuGet",
|
||||
"replaces": "UMBRACO_VERSION_FROM_TEMPLATE"
|
||||
},
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<PropertyGroup>
|
||||
<Version>9.3.0</Version>
|
||||
<AssemblyVersion>9.3.0</AssemblyVersion>
|
||||
<InformationalVersion>9.3.0-rc</InformationalVersion>
|
||||
<InformationalVersion>9.3.0</InformationalVersion>
|
||||
<FileVersion>9.3.0</FileVersion>
|
||||
<LangVersion Condition="'$(LangVersion)' == ''">9.0</LangVersion>
|
||||
<NeutralLanguage>en-US</NeutralLanguage>
|
||||
|
||||
@@ -263,6 +263,9 @@ namespace Umbraco.Cms.Core.DependencyInjection
|
||||
|
||||
// Register telemetry service used to gather data about installed packages
|
||||
Services.AddUnique<ITelemetryService, TelemetryService>();
|
||||
|
||||
// Register a noop IHtmlSanitizer to be replaced
|
||||
Services.AddUnique<IHtmlSanitizer, NoopHtmlSanitizer>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
12
src/Umbraco.Core/Security/IHtmlSanitizer.cs
Normal file
12
src/Umbraco.Core/Security/IHtmlSanitizer.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Umbraco.Cms.Core.Security
|
||||
{
|
||||
public interface IHtmlSanitizer
|
||||
{
|
||||
/// <summary>
|
||||
/// Sanitizes HTML
|
||||
/// </summary>
|
||||
/// <param name="html">HTML to be sanitized</param>
|
||||
/// <returns>Sanitized HTML</returns>
|
||||
string Sanitize(string html);
|
||||
}
|
||||
}
|
||||
10
src/Umbraco.Core/Security/NoopHtmlSanitizer.cs
Normal file
10
src/Umbraco.Core/Security/NoopHtmlSanitizer.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Umbraco.Cms.Core.Security
|
||||
{
|
||||
public class NoopHtmlSanitizer : IHtmlSanitizer
|
||||
{
|
||||
public string Sanitize(string html)
|
||||
{
|
||||
return html;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,6 +81,7 @@ namespace Umbraco.Cms.Core.PropertyEditors
|
||||
private readonly HtmlLocalLinkParser _localLinkParser;
|
||||
private readonly RichTextEditorPastedImages _pastedImages;
|
||||
private readonly IImageUrlGenerator _imageUrlGenerator;
|
||||
private readonly IHtmlSanitizer _htmlSanitizer;
|
||||
|
||||
public RichTextPropertyValueEditor(
|
||||
DataEditorAttribute attribute,
|
||||
@@ -92,7 +93,8 @@ namespace Umbraco.Cms.Core.PropertyEditors
|
||||
RichTextEditorPastedImages pastedImages,
|
||||
IImageUrlGenerator imageUrlGenerator,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IIOHelper ioHelper)
|
||||
IIOHelper ioHelper,
|
||||
IHtmlSanitizer htmlSanitizer)
|
||||
: base(localizedTextService, shortStringHelper, jsonSerializer, ioHelper, attribute)
|
||||
{
|
||||
_backOfficeSecurityAccessor = backOfficeSecurityAccessor;
|
||||
@@ -100,6 +102,7 @@ namespace Umbraco.Cms.Core.PropertyEditors
|
||||
_localLinkParser = localLinkParser;
|
||||
_pastedImages = pastedImages;
|
||||
_imageUrlGenerator = imageUrlGenerator;
|
||||
_htmlSanitizer = htmlSanitizer;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -156,8 +159,9 @@ namespace Umbraco.Cms.Core.PropertyEditors
|
||||
var parseAndSavedTempImages = _pastedImages.FindAndPersistPastedTempImages(editorValue.Value.ToString(), mediaParentId, userId, _imageUrlGenerator);
|
||||
var editorValueWithMediaUrlsRemoved = _imageSourceParser.RemoveImageSources(parseAndSavedTempImages);
|
||||
var parsed = MacroTagParser.FormatRichTextContentForPersistence(editorValueWithMediaUrlsRemoved);
|
||||
var sanitized = _htmlSanitizer.Sanitize(parsed);
|
||||
|
||||
return parsed.NullOrWhiteSpaceAsNull();
|
||||
return sanitized.NullOrWhiteSpaceAsNull();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user