首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它对Html-编码URL有效吗?

它对Html-编码URL有效吗?
EN

Stack Overflow用户
提问于 2012-01-31 09:19:53
回答 1查看 1.1K关注 0票数 1

在我看来,我有以下片段:

代码语言:javascript
复制
<div id="recommendFooter">
    <% string urlRecommend = Url.Action("RecommendProduct", "Products", new { url = ViewContext.RequestContext.HttpContext.Request.Url.ToString() }); %>
    <div>
        <a href="<%= urlRecommend %>">This product is awesome!</a>
    </div>
</div>

它应该像这样输出Html:

代码语言:javascript
复制
<div id="recommendFooter">
     <div>
        <a href="http://www.mysite.com/Products/RecommendProduct?url=http://www.mysite.com/products/productbykey/20" >This product is awesome!</a>
    </div>
</div>

如果我能对ViewContext.RequestContext.HttpContext.Request.Url.ToString().或值urlRecommend进行Html编码的话,我是不会接受的。

我已经启用了请求验证,但是对于这个部分,让我们假设我没有启用它。我可以而且应该在这里进行Html编码吗?

编辑1

我想这就是古法的意思:

代码语言:javascript
复制
  <div id="recommendFooter">
        <% string urlRecommend = Url.Action("RecommendProduct", "Products",  new { url = Server.UrlEncode( ViewContext.RequestContext.HttpContext.Request.Url.ToString() )}); 
string urlRecommendXssSave = Server.HtmlEncode(urlRecommend );

%>
        <div>
            <a href="<%= urlRecommendXssSave %>">This product is awesome!</a>
        </div>
    </div>
EN

回答 1

Stack Overflow用户

发布于 2012-01-31 09:34:23

该值应该是HTML编码的,因为它在HTML代码中的一个属性中,但这并没有什么区别,因为没有字符需要转义。

您需要做的是对URL中查询字符串中的值进行URL编码。

链接的HTML代码应该是这样结束的:

代码语言:javascript
复制
<a href="http://www.mysite.com/Products/RecommendProduct?url=http%3a%2f%2fhttp%3a%2f%2fwww.mysite.com%2fproducts%2fproductbykey%2f20">This product is awesome!</a>

(注意:我将重复的http://保存在您的问题中的值中,您可能也应该修复这个问题。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9077078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档