Tag: html encode

Microsoft AntiXSS – 是否需要解码?

HttpUtility类提供编码和解码。 但是,当我使用MS AntiXSS 3.1库时,我有一组仅用于编码的方法,这是否意味着可以避免解码? 例如 在应用AntiXSS之前: lblName.Text = “ABC” + ” alert(‘Inject’); </script"; 应用AntiXSS后: lblName.Text = AntiXSS.HTMLEncode(“ABC” + ” alert(‘Inject’); </script"); 因此,在应用编码后,HTML标记将显示在我的Label控件中。 这是理想的结果吗?

使用新的Razor View引擎,我的HtmlHelpers应该返回字符串还是IHtmlString?

使用Razor View Engine,只要您将字符串直接输出到页面,它就是HTML编码的。 例如: @”Hello World” 实际上会输出到页面: <p>Hello World </p> 哪个会在浏览器中显示为: Hello World 这是问题,但是在创建Html帮助程序时,到目前为止,使用旧的aspx视图引擎,我只返回一个字符串,并将其输出到浏览器: 所以我的问题基本上就是这个。 我这样做: public static IHtmlString MyCoolHelperMethod(this HtmlHelper helper) { return new helper.Raw(“Hello World”); } 在这种情况下,我可以在我的cshtml中执行此操作: @Html.MyCoolHelperMethod(); 或者我这样做: public static string MyCoolHelperMethod(this HtmlHelper helper) { return “Hello World”; } 在这种情况下,我需要在我的cshtml中完成工作: @Html.Raw(Html.MyCoolHelperMethod()); 显然第一种方法使视图看起来更清晰,但我只是想知道普通模式是否实际上是帮助者返回IHtmlString并且我过去做错了。

C#有类似PHP的mb_convert_encoding()吗?

在C#上有没有办法可以将unicode字符串转换为ASCII + html实体,然后再返回? 看,在PHP中,我可以这样做: <?php // RUN ME AT COMMAND LINE $sUnicode = 'Jöhan Strauß’; echo “UNICODE: $sUnicode\n”; $sASCII = mb_convert_encoding($sUnicode, ‘HTML-ENTITIES’,’UTF-8′); echo “ASCII: $sASCII\n”; $sUnicode = mb_convert_encoding($sASCII, ‘UTF-8’, ‘HTML-ENTITIES’); echo “UNICODE (TRANSLATED BACK): $sUnicode\n”; 背景: 我需要这个在C#.NET 2中工作,因为我们受到限制,不能在旧的应用程序中使用更高的.NET库。 我在这个应用程序上处理PHP后端。 我想在这个项目中与C#前端团队分享一些技巧。

HTMLencode HTMLdecode

我有一个文本区域,我想将用户输入的文本存储在数据库中,其中html格式如段落,编号列表。 我正在使用HTMLencode和HTMLdecode。 我的代码示例如下: string str1 = Server.HtmlEncode(TextBox1.Text); Response.Write(Server.HtmlDecode(str1)); 如果用户输入带有2个段落的文本,则str1在段落之间显示字符\ r \ n \ r \ n。 但是当它将它写入屏幕时,只需在第1段附加第2段。 虽然我正在解码它,为什么不打印2段?

ASP.NET MVC Html.Encode – 新行

Html.Encode似乎只是简单地调用HttpUtility.HtmlEncode来用它们的转义序列替换一些html特定字符。 但是,这并未考虑如何解释新行和多个空格(标记空白)。 因此,我为用户提供了一个文本区域,用于输入纯文本信息块,然后在另一个屏幕上显示该数据(使用Html.Encode ),新的行和间距将不会被保留。 我认为有2种选择,但也许有人会提出更好的第三种选择。 一种选择是只编写一个使用HtmlEncode的静态方法,然后将结果字符串中的新行替换为和多个空格的组,并使用  另一种选择是在我的样式表中混淆white-space: pre属性 – 但是我不确定当Html帮助方法包含新行和Tab键以使页面源非常漂亮时是否会产生副作用。 是否有第三个选项,如全局标志,事件或方法覆盖,我可以用来改变html编码的方式而不必重做html帮助器方法?

自定义HtmlEncode与HTML实体名称,是否可能?

我正在使用以下方法来HtmlEncode一些像spanish这样的text : string word = “configuración”; string encodedWord = System.Net.WebUtility.HtmlEncode(word); 输出是预期的: configuración 但! ó text表示带有急性的拉丁文小写字母o的HTML实体编号。 但是,我想知道是否有快速方式(我不知道的内置函数,库,已经实现的函数等)来显示拉丁小写字母的HTML实体编号的HTML实体名称由于我无法为此找到一个好的解决方案,因此也很敏感并且还支持许多其他角色。 PS:我试过的是检查一个HTML实体表(搜索时有很多,但我使用的是: http : //www.ascii.cl/htmlcodes.htm )并创建一个自定义的替换method通过做一些映射的string 。 所以,如果这个词包含ó 然后将它替换为它的HTML实体名称,这是oacute; 但是因为有很多案例,所以真的很痛苦。 最后,所需的输出将是: configuración 提前致谢。

在C#中将HTML实体转换为Unicode字符

我发现Python和Javascript的类似问题和答案,但不适用于C#或任何其他WinRT兼容语言。 我认为我需要它的原因是因为我正在显示我从Windows 8商店应用程序中的网站获得的文本。 例如é 应该成为é 。 或者,还有更好的方法? 我不是显示网站或RSS订阅源,而是显示网站及其标题列表。