: ( ) HTML- (, HttpServerUtility.HtmlEncode()), HTML JavaScript . : "Check your Windows folder c:\windows" "Check your Windows folder c:'windows", . , HTML, \, " '. - .
? (\, " '), JavaScript, HTML, ( JS HTML-). : escape- JavaScript \ \uxxxx Unicode ( , \uxxxx, , HTML).
( ) :
string JavaScriptEscape(string text)
{
return text
.Replace("\\", @"\u005c")
.Replace("\"", @"\u0022")
.Replace("'", @"\u0027")
.Replace("&", @"\u0026")
.Replace("<", @"\u003c")
.Replace(">", @"\u003e");
}
, \ , escape-! (, , ). , , ). , # Unicode #, . HTML: <script> node DOM, , + "</s" + "cript>", .
. , , escape- (, \uxxxx \t), . .
, , , JavaScript :
alert("This is a multiline
comment");
.Replace("\n", "\\n").Replace("\r", "") JavaScriptEscape().
.NET 4 ( ), , HttpUtility.JavaScriptStringEncode( ).
: , Uri.EscapeDataString(), JavaScript decodeURIComponent(), , .
ASP.NET Core, System.Text.Encodings.Web.JavaScriptEncoder.