1. <em id="uz9qt"><object id="uz9qt"></object></em>

    2. 我爱技术网_SEO三人行

      seo三人行 > SEO优化 > SEO黑帽 > 正文

      ASP.NET的优化:黑帽seo Html注入和Nofollow

      网络整理:06-13 点击提交给百度收录

      黑帽(black hat)SEO主要是指采取“不怎么道德”(暂时就这么形容吧!)的方式进行搜索引擎优化。

      1. 注入攻击,包括Sql注入和Html注入。我经常能看到对Sql注入防范的谈论,但对于Html注入,很多人并没有引起足够的重视。为了展示Html注入的效果,我们模仿了一个常见的留言本功能。

      首先,在页面声明中添加两个属性设置EnableEventValidation=“false” ValidateRequest=“false” ,这很关键,读者可以试一下如果不这样设置会有什么效果。

      <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" EnableEventValidation="false" ValidateRequest="false" %>

      然后,前台页面和后台代码段分别如下:

      <asp:TextBox ID="txtInput" runat="server" Height="95px" Width="405px" TextMode="MultiLine"></asp:TextBox>
              
      <asp:Button ID="btnSubmit" runat="server" Text="Simple Submit"
                  onclick="btnSubmit_Click" />
              
      <asp:Label ID="lblShow" runat="server"></asp:Label>

          protected void btnSubmit_Click(object sender, EventArgs e)
          {
              
      this.lblShow.Text = this.txtInput.Text;
          }

      程序很简单,将用户输入的内容再显示出来而已。运行代码,然后输入我们的恶意代码,提交。

      <p>Sanitizing <img src=""INVALID-IMAGE" onerror='location.href=""'>!</p>

      我们会发现页面自动跳转到页面!这就是所谓的“Html注入”。当page页面render到客户端后,浏览器会按一个普通的html页面进行解析;当解析到上面的js代码时……

      为了避免这种入侵,在asp.net中,我们最简单的处理方式就是对输入的内容进行“Html编码”。将后台代码改为:

          protected void btnSubmit_Click(object sender, EventArgs e)
          {
              
      this.lblShow.Text = this.Server.HtmlEncode(this.txtInput.Text);
          }

      现在我们再运行代码,发现源代码被原样输出显示在页面,并没有运行。为什么呢?查看输出页面的源代码:

      <span id="lblShow">&lt;p&gt;Sanitizing &lt;img src=&quot;&quot;INVALID-IMAGE&quot; onerror='location.href=&quot;&quot;'&gt;!&lt;/p&gt;</span>

      整理后,我们发现如下的映射转换:

      <  --  &lt;  (less than)
      >  --  &gt;  (greater than)
      "  --  &quot;   (quota)

      所以js无法执行,但在页面显示时,我们确能看到“原汁原味”的js内容。

      但问题并没有结束,现实世界中,输入的内容除了恶意代码以外,还可能有如下的内容:

      <span style=" color:blue">黑帽</span>(black hat)SEO主要是指采取<span style=" color:blue">“不怎么道德”</span>(暂时就这么形容吧!)的方式进行搜索引擎优化。

      Tags:黑帽(38)SEO优化(44)ASP.NET(1)spam(1)nofollow(1)

      转载请标注:我爱技术网_SEO三人行——ASP.NET的优化:黑帽seo Html注入和Nofollow

      搜索
      网站分类
      标签列表
      金亚洲代理