はじめに
クロスサイト・スクリプティング(以下、XSSという)とは、悪意あるスクリプトを実行されてしまう脆弱性のことを指します。
この悪意あるスクリプトは、Webページの表示に利用者のブラウザ上で実行されます。
例えば、本物のサイト上に偽ページが表示されたり、Cookieが漏洩することでセッションID漏洩によるなりすましが行われたりします。
このようなXSSに対する対策に、「HtmlSanitizer」というライブラリを利用して対策しようとおもいます。
主な利用例については以降で備忘録として残しておきます。
HtmlSanitizerをnugetでインストールする
1) [プロジェクト]-[Manage Nuget Package]を選択します。選択するとNuget管理画面が表示されます。
2) HtmlSanitizerを検索し、パッケージを追加します。
利用例
では実際に利用してみようと思います。
using System;
using Ganss.XSS;
using NUnit.Framework;
namespace ConsoleAppTest
{
class Program
{
static void Main(string[] args)
{
try
{
// Arrange
var sanitizer = new HtmlSanitizer();
// Act
string htmlFragment = "";
string actual = sanitizer.Sanitize(htmlFragment);
// Assert
string expected = "";
Assert.That(actual, Is.EqualTo(expected).IgnoreCase);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
危ないタグやスクリプトがしっかりと削除されます。
最後に
以下に様々な例が紹介されていますので、参考にしてみてください。
HtmlSanitizer.Sanitize, Html C# (CSharp) Code Examples - HotExamples
C#(CSharp)HtmlHtmlSanitizer.Sanitize-31examplesfound.ThesearethetopratedrealworldC#(CSharp)examplesofHtml.HtmlSanitizer.Sanitizeextractedfromopensourceprojects....