如果我重新显示网站用户输入的任何数据的HTML编码,这会阻止CSS漏洞吗?
此外,是否有可用的工具/产品将为我清理我的用户输入,因此我不必编写自己的例程.
如果从数据库中提取链接的名称,您是否应该调用Html.Encode方法来清除名称?
例如:
Html.ActionLink(Model.PersonFromDB.FirstName,
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
Run Code Online (Sandbox Code Playgroud)
要么:
Html.ActionLink(Html.Encode(Model.PersonFromDB.FirstName),
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
Run Code Online (Sandbox Code Playgroud)
有意义的是你想要这样做以确保没有危险的字符串注入到页面之间<a>和</a>标签之间,但是脚本和锚标签之间的可执行文件?
在我的 c# 代码中,我正在对具有多个查询字符串的 Url 进行编码。当在接收端我尝试读回查询字符串时,我得到空值(未找到查询字符串参数)原因是编码将 &querystringparameter 更改为 &querystringparam。如何解决这个问题。
Response.Redirect(HttpUtility.HtmlEncode("Add.aspx?ID=" + 1 + "&cid="+ 8 + "&jid=" +9));
Run Code Online (Sandbox Code Playgroud)
在 add.aspx 页面上,我得到的 url 为“add.aspx?id=1&sid=3&jid=9”
我有一个网络表单,允许用户将文本上传为 Markdown。
Markdown 在服务器上转换为 Html(使用 Markdig)并存储。
当显示用户上传的转换后的 Html 时,我是否应该对内容进行 @Html.Encode - 该项目在 c#、MVC 5/razor 中,并启用了请求验证。
我有一个用例,我将页面焦点设置为特定元素(在它之前有一个锚点).当用户未登录时,会有重定向到登录页面,登录后,用户将被重定向到相关页面,并对URL进行编码.
我看到表单链接#target的URL按预期工作(关注元素),而url编码的链接链接%23target则没有.这是预期的行为吗?
编辑:如果这是预期的行为,是否有工作专注于目标?就像在,围绕url编码的方式?
编辑添加更多信息:
假设有代码
page1.html
... html before the anchor ...
<a name="test">Some code</a>
... html after the anchor ...
Run Code Online (Sandbox Code Playgroud)
我正在以page1.html%23test访问该页面.这与page1.html #test的工作方式不同.是否有一个jQuery方法来实现它?即使在url编码后,location.hash还会包含测试吗?我无法控制更改网址编码.
编辑:
因为我知道在页面被重定向后我想去哪个命名锚,我做了一个
window.location.hash = namedAnchor
Run Code Online (Sandbox Code Playgroud)
解决问题.只有在客户成功登录时才会输出此JS行.解决了我的问题,虽然不是我想要的通用答案.我正在寻找一种避免在url编码中转义#的方法.
我想在我的页面上启用评论发布,所以我需要在发送帖子并插入数据库之前执行一些html编码.
这个理想的一面是什么?
Sever方面(我使用asp.net)或客户端(javascript)?
好.这个夜晚对我来说是一个非常奇怪的夜晚.我很抱歉在之前创建了另外两个问题后创建了一个新问题,但这是另一个论点.如果我在这里得到答案,我也会得到这些问题的答案,所以请有人听我说并尝试理解.
这一切都始于一个简单的脚本JS,通过一个aspx代码隐藏文件生成.在控件上,我必须以这种方式放置JavaScript:
this.MyTxtBox.Attributes["onfocus"] = "windows.alert('Hello World!');";
Run Code Online (Sandbox Code Playgroud)
好.你可能会想,问题出在哪里?问题是ASP.NET 4.0对所有内容进行编码,我说一切都是为了避免在网站上执行XSS.嗯,这似乎不是一个问题,但如果你看看渲染的页面,你会像我一样跳到椅子上:
<textarea id="..." onfocus="windows.alert('Hello World!');"></textarea>
Run Code Online (Sandbox Code Playgroud)
正如你可以看到html,最后的html有点奇怪...... JavaScript引擎不应该接受这种情况.所以我开始提出这个问题:
好吧,我仍然没有得到任何答案是的我们无法理解在.net配置中需要修改的内容,以免发生这种情况.
但现在我考虑一件事,一件重要的事情:JavaScript引擎工作!即使是那些不应该被解释的奇怪代码......
我希望到现在为止一切都很清楚......现在的问题是:
这是JavaScript引擎的正常情况吗?每个浏览器是否都能正确解释用编码字符串替换引号的JavaScript?
如果这是真的,我必须假设.net没有提供一种机制来避免编码只是因为这个原因!
我有解码浏览器显示的html实体的问题.我正在尝试从wordpress博客中显示博客描述.在将文本保存在数据库中之前,文本正在进行html实体编码.因此,为了显示例如超链接,文本必须被html实体解码回来,因此正在正确地呈现a-tag.
但是,当我尝试解码文本时,它仍然是html实体.
解码前的输出:
echo(bloginfo( 'description' )); //output: Display a hyper link. <a href="">READ MORE</a>
Run Code Online (Sandbox Code Playgroud)
解码时的输出.这是我的问题.它仍然没有被解码!检查输出.
echo(html_entity_decode(bloginfo( 'description' ))); //output: Display a hyper link. <a href="">READ MORE</a>
Run Code Online (Sandbox Code Playgroud)
当我尝试对要解码的文本进行硬编码时,它就可以了!
echo(html_entity_decode('Display a hyper link. <a href="">READ MORE</a>')); //output: Display a hyper link. <a href="">READ MORE</a>
Run Code Online (Sandbox Code Playgroud)
我查看了php手册,并尝试了不同的字符集和引用样式作为参数.但仍然没有运气.
我做错了什么,有什么想法吗?
<asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="SqlDataSource1" AutoGenerateRows="False"
DataKeyNames="ID" DefaultMode="Insert" >
Run Code Online (Sandbox Code Playgroud)
...
<asp:TextBox ID="ShortExcerptTextBox" runat="server"
Text='<%#Bind("ShortExcerpt") %>' class="mceEditor"
TextMode="MultiLine"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
这是我的代码.
问题是我需要以某种方式以某种方式HttpUtility.HtmlDecode在那里#Bind("ShortExcerpt"),但不知道如何.
最初的问题是tinyMCE(富文本编辑器)本身对文本进行编码,但在读取时不对其进行解码.长话:P
所以,请,有人,解释,如何HttpUtility.HtmlDecode阅读的文本,#Bind("ShortExcerpt")请?
日Thnx
可以在- 标记中直接插入™和喜欢符号吗?还是应该使用其HTML字符代码?®metadescription
<meta name="description" content="Hello® World™">
<meta name="description" content="Hello® World™">
Run Code Online (Sandbox Code Playgroud) html-encode ×10
asp.net ×3
c# ×3
asp.net-mvc ×2
javascript ×2
actionlink ×1
detailsview ×1
html ×1
markdown ×1
meta ×1
php ×1
symbols ×1
tinymce ×1
url ×1
urlencode ×1
wordpress ×1
xss ×1