每当用户在我的Web应用程序中发布包含<
或>
在页面中的内容时,我都会抛出此异常.
我不想进入关于抛出异常或崩溃整个Web应用程序的聪明性的讨论,因为有人在文本框中输入了一个字符,但我正在寻找一种优雅的方法来处理这个问题.
捕获异常并显示
发生错误请返回并重新输入整个表单,但这次请不要使用<
对我来说似乎不够专业.
禁用post validation(validateRequest="false"
)肯定会避免此错误,但它会使页面容易受到许多攻击.
理想情况:当发回包含HTML限制字符的回发时,Form集合中的已发布值将自动进行HTML编码.所以.Text
我的文本框的属性将是something & lt; html & gt;
有没有办法可以从处理程序中执行此操作?
它们是否与XML相同,也许加上空间one(
)?
我发现了一些HTML转义字符的巨大列表,但我不认为它们必须被转义.我想知道需要逃脱的内容.
我有一个类库(在C#中).我需要使用HtmlEncode方法对数据进行编码.这很容易从Web应用程序.我的问题是,如何从从控制台应用程序调用的类库中使用此方法?
显然,这比我想象的要难得多.它甚至如此简单......
是否有一个功能相当于PHP的内置于Javascript的htmlspecialchars?我知道自己实现起来相当容易,但使用内置函数(如果可用)更好.
对于那些不熟悉PHP,用htmlspecialchars转换这样的东西<htmltag/>
进入<htmltag/>
我知道,escape()
并且encodeURI()
不以这种方式工作.
给出以下URL(工作,试试吧!)
https://select-test.wp3.rbsworldpay.com/wcc/purchase?instId=151711&cartId=28524¤cy=GBP&amount=1401.49&testMode=100&name=Tom%20Gul&address=24%20House%20Road \nSome Place \nCounty&postcode = TR33%20999&email = email@mail.com&country=GB
如果单击链接并转到付款页面,则地址框中的地址显示不正确,换行符将显示为文本.
我尝试过,<br />'s
但没有运气,有人有任何想法吗?我需要使用换行符显示地址.
逗号可以作为分隔符,但我更希望能够有换行符.谢谢你的帮助!一个工作的例子将是公认的答案.
我有一个html编码的字符串:
'''<img class="size-medium wp-image-113"\
style="margin-left: 15px;" title="su1"\
src="http://blah.org/wp-content/uploads/2008/10/su1-300x194.jpg"\
alt="" width="300" height="194" />'''
Run Code Online (Sandbox Code Playgroud)
我想将其改为:
<img class="size-medium wp-image-113" style="margin-left: 15px;"
title="su1" src="http://blah.org/wp-content/uploads/2008/10/su1-300x194.jpg"
alt="" width="300" height="194" />
Run Code Online (Sandbox Code Playgroud)
我希望将其注册为HTML,以便浏览器将其呈现为图像,而不是显示为文本.
我已经在C#中找到了如何做到这一点,但在Python中却没有.有人可以帮我吗?
谢谢.
编辑:有人问为什么我的字符串存储就像那样.这是因为我正在使用网络抓取工具"扫描"网页并从中获取某些内容.该工具(BeautifulSoup)以该格式返回字符串.
我正在尝试使用HTML内容生成电子邮件.这个内容已经经过了环境卫生,所以我并不担心这方面,但是当我打电话时:
Razor.Parse(template, model);
Run Code Online (Sandbox Code Playgroud)
在以下Razor模板上:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
@(new System.Web.HtmlString(Model.EmailContent))
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
输出的电子邮件是HTMl编码的,但我需要它解码.我怎么能做到这一点?
正如ScottGu在他的博客文章中所说的那样«默认情况下,使用@ block发出的内容会自动进行HTML编码,以更好地防范XSS攻击情形» 我的问题是:如何输出非HTML编码的字符串?
为简单起见,请坚持这个简单的案例:
@{
var html = "<a href='#'>Click me</a>"
// I want to emit the previous string as pure HTML code...
}
Run Code Online (Sandbox Code Playgroud) 我将编码的HTML存储在数据库中.
我能正确显示它的唯一方法是:
<div class='content'>
@MvcHtmlString.Create(HttpUtility.HtmlDecode(Model.Content));
</div>
Run Code Online (Sandbox Code Playgroud)
它很丑.有没有更好的方法来做到这一点?
我使用Sublime文本中的HTML编码特殊字符将所有特殊字符转换为HTML代码.我在文件的不同部分有很多重音字符.所以,如果我可以选择所有特殊字符然后使用插件一次转换所有内容将会很棒!
是否有正则表达式有助于仅选择所有特殊字符?
html-encode ×10
razor ×3
asp.net ×2
c# ×2
html ×2
asp.net-mvc ×1
django ×1
encoding ×1
escaping ×1
javascript ×1
python ×1
request.form ×1
sublimetext2 ×1
url ×1
validation ×1