飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

网址出现“jdfwkey=”金盾防火墙标识=后果:搜索引擎K站!

Author:飘易 Source:飘易
Categories:SEO技术 PostTime:2013-7-2 9:15:46
正 文:
    现在有些IDC为了服务器的稳定运行,会给服务器安装金盾防火墙来防止CC/DDOS攻击等,这本来是一件好事,可以有效的阻止这些非法攻击,但是由于开启了金盾防火墙,所有的网址后面会出现随机符:?jdfwkey=jkd3k类似这样的。

    jdfwkey 含义解读:j(金)d(盾)f(火-fire)w(墙-wall)key(验证码)=hj67l9(随机码)。

    当开启了金盾防火墙后,根据策略不同,一般有两种情况发生:

    (一)可能所有的网址后面都会自动添加 jdfwkey 验证码;
    (二)也有可能每个新IP第一次访问网站时出现 jdfwkey 验证码,在接下来的一段时间内(一般为24小时内)不再出现 jdfwkey,但是超过一定的时间后(如24小时),又会自动出现 jdfwkey 验证码。

    开启金盾防火墙的好处就是可以防止ddos之类攻击,但是今天飘易要说的不是它的好处,而是它的严重弊端!

    虽然开启金盾后,用户通过浏览器(默认支持javascript)可以正常浏览网站内容,真正的流程是:

    打开网页 --> 获取一段跳转的JS代码(搜索引擎会卡在这里) --> 真正的网页。

    大家都知道,搜索引擎在抓取网站页面的时候,是不支持javascript代码的,更不会执行任何js代码。开启金盾防火墙后,搜索引擎在抓取网页的时候,只能抓取到下面的这段提示“访问本页面,您的浏览器需要支持JavaScript”的源码:

<html><body><script>function ca(da,ea,fa){var cb,ab=new Array(),bb="\xb4Dh\xe7\r\xaf\xdc\x05R\x9b\xc8x\x9aG\x8b\xad\xd5l/vCx\x1b\xbd^w\xa0\xc3\xe5\x11G\xe9\x18\xa0\xcfx\xa1\xf07\xfa\x9b\x01)w\xbe\xc3\xf2\x14\xc2\xa0A\x88\x9a";for(cb=0;cb<bb.length;cb++)ab[cb]=bb.charCodeAt(cb);cb=4;for(;cb<=50;){ab[cb]=((ab[cb]-ab[cb+1])&0xff)^ab[0];cb++;}cb=2;do{ab[cb]=(ab[cb]-189)&0xff;ab[cb]=(-((ab[cb]+22)&0xff))&0xff;}while(++cb<=51);cb=51;for(;;cb--){if(cb<1)break;ab[cb]=(((ab[cb]+250)&0xff)+236)&0xff;ab[cb]=(ab[cb]>>7)|((ab[cb]<<1)&0xff);}bb="";for(cb=1;cb<ab.length-1;cb++)if(cb%8)bb+=String.fromCharCode(ab[cb]^da);eval(bb);}ca(35,"","");</script><br><br><br><center><h3><p>访问本页面,您的浏览器需要支持JavaScript</p><p>The browser needs JavaScript to continue</p></h3></center></body></html>

    这根本不是网页原始代码,搜索引擎自然会认为你的网站出现了严重问题,因为所有的页面都返回了这样的毫无意义的js代码。结果可想而知,时间一长,搜索引擎接下来就是要降权、K站。

    【解决方法:】
    如果我们设计的winform程序,用户定时发出请求,这类请求完全正常,只是防火墙误杀了。我们可以在winform里放置一个webbrowser,当检测到出现上述特征代码时,启用webbrowser访问网页一次后,再次使用HttpWebRequest 获取网页源码即可。原理就是利用了 webbrowser 可以执行javascript代码的特点。

string html = getHtml(g_url, "utf-8"); //利用HttpWebRequest获取网页源码
                if (html.ToLower().Contains("needs javascript to continue")) 
                {
                    string jdfwkey = "检测到服务器启用了防火墙!  时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n";
                    StreamWriter sw = File.AppendText("error.txt");
                    sw.Write(jdfwkey);
                    sw.Close(); sw.Dispose();
                    webBrowser3.Navigate(g_url); //启用浏览器访问一次
                    //* ---------------------
                    int i = 0;
                    while (i < 20) { Application.DoEvents(); Thread.Sleep(100); i++; }
                    while (i < 100)
                    { //延时
                        Application.DoEvents(); Thread.Sleep(100); i++;
                        if (webBrowser3.ReadyState == WebBrowserReadyState.Complete && (webBrowser3.StatusText == "完成" || webBrowser3.StatusText == "Done")) break;
                    }
                    //* ---------------------
                    goto endthis;
                }

    作为一个对用户负责的IDC商户来说,要确保在没有攻击的时候,一定不要开启金盾防火墙,即使一定要开启防火墙时,也要放开搜索引擎的IP或特征码,不要把搜索引擎的IP也当做攻击者屏蔽了。这样做会让你的用户网站损失严重!

    搜索引擎的常见特征码:googlebot baiduspider slurp msnbot sogou sosospider

    但是搜索引擎有那么多的IP,你不可能把他们的IP全部加入白名单,当搜索引擎用匿名蜘蛛来抓取的时候,发现匿名蜘蛛抓取的和正常抓取的不一样,搜索引擎会不会认为网站在作弊呢?

    所以,遇到这种情况,网站管理员要做的:

    1,联系服务器商,关闭金盾防火墙;
    2,更换机房。

   补充阅读:
1、设置金盾80端口防护,完美防御网站CC攻击(不影响搜索引擎的收录):http://www.jdfhq.com/Display.aspx?ID=52
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:无良运营商:如何屏蔽弹窗t.213164.com秘笈
下一篇:godaddy新加坡机房很慢转移到美国机房
1条评论 “网址出现“jdfwkey=”金盾防火墙标识=后果:搜索引擎K站!”
2016-5-18 9:59:41
就是,我的网站也出现这种情况了。
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有