From cac021caca10d6e50b23963d0a92762df5abda23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caner=20Pat=C4=B1r?= Date: Thu, 5 Jul 2018 16:27:30 +0300 Subject: [PATCH] Allow all attribute values if there is no regex --- src/AntiSamy/AntiSamy.csproj | 6 +- src/AntiSamy/AntiSamyDomScanner.cs | 5 + test/AntiSamy.Tests/AntiSamy.Tests.csproj | 8 +- test/AntiSamy.Tests/UseCaseTests.cs | 16 + .../resources/antisamy-mysite.xml | 2390 +++++++++++++++++ 5 files changed, 2421 insertions(+), 4 deletions(-) create mode 100644 test/AntiSamy.Tests/resources/antisamy-mysite.xml diff --git a/src/AntiSamy/AntiSamy.csproj b/src/AntiSamy/AntiSamy.csproj index cb97bfe..ca64aff 100644 --- a/src/AntiSamy/AntiSamy.csproj +++ b/src/AntiSamy/AntiSamy.csproj @@ -4,13 +4,13 @@ netstandard2.0;net45;net46 true Caner Patır - 1.0.4 - 1.0.4.0 + 1.0.5 + 1.0.5.0 https://github.com/canerpatir/AntiSamy.NET https://raw.githubusercontent.com/canerpatir/AntiSamy.NET/master/icon.png https://github.com/canerpatir/AntiSamy.NET https://github.com/canerpatir/AntiSamy.NET/blob/master/LICENCE - 1.0.4.0 + 1.0.5.0 git A .net standard library for performing configurable cleansing of HTML coming from untrusted sources. Caner Patır diff --git a/src/AntiSamy/AntiSamyDomScanner.cs b/src/AntiSamy/AntiSamyDomScanner.cs index f11e6bf..380110d 100644 --- a/src/AntiSamy/AntiSamyDomScanner.cs +++ b/src/AntiSamy/AntiSamyDomScanner.cs @@ -150,6 +150,11 @@ namespace AntiSamy } else { + if (!allowwdAttr.AllowedValues.Any() && !allowwdAttr.AllowedRegExps.Any()) + { + continue; + } + var isAttributeValid = false; //try to find out how robust this is - do I need to do this in a loop? value = HtmlEntity.DeEntitize(value); diff --git a/test/AntiSamy.Tests/AntiSamy.Tests.csproj b/test/AntiSamy.Tests/AntiSamy.Tests.csproj index 1a468f3..7073609 100644 --- a/test/AntiSamy.Tests/AntiSamy.Tests.csproj +++ b/test/AntiSamy.Tests/AntiSamy.Tests.csproj @@ -6,6 +6,10 @@ false + + + + @@ -15,7 +19,9 @@ - + + Always + diff --git a/test/AntiSamy.Tests/UseCaseTests.cs b/test/AntiSamy.Tests/UseCaseTests.cs index 96f0851..0a4c1e4 100644 --- a/test/AntiSamy.Tests/UseCaseTests.cs +++ b/test/AntiSamy.Tests/UseCaseTests.cs @@ -128,5 +128,21 @@ namespace AntiSamy.Tests } + [Fact] + public void allow_any_src_in_img_tag() + { + var scanner = new AntiSamy(); + + /* + * remove non-allowed hrefs + */ + + var input = "Size Table: ;

\"\"

; Lorem ipsum"; + + AntiySamyResult result = scanner.Scan(input, GetPolicy("antisamy-mysite.xml")); + + result.CleanHtml.Should().Be(input); + } + } } diff --git a/test/AntiSamy.Tests/resources/antisamy-mysite.xml b/test/AntiSamy.Tests/resources/antisamy-mysite.xml new file mode 100644 index 0000000..0c5e888 --- /dev/null +++ b/test/AntiSamy.Tests/resources/antisamy-mysite.xml @@ -0,0 +1,2390 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + g + grin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file