首页 > 其他分享 >Url重写隐藏网页路径技术

Url重写隐藏网页路径技术

时间:2023-08-15 15:55:29浏览次数:34  
标签:网页 Url void 窗体 context app 重写 id

        Url重写:

实质上是将网页真实的Url隐藏起来,使用户通过虚拟的Url来访问资源,以弥补真是Url的许多不足;

作用:

(1)满足搜索引擎的需要,实现搜索引擎排名的优化

(2)隐藏网页实现技术,增强网站安全性

(3)提高网站的安全性和实用性

(4)Url支持 "可删减"的需求

下面通过代码来了解Url重写的使用方法

1、再一个Webform窗体有两个a超链接标签,her进行Url的跳转并再后端获取它对应的编号

<body>
    <form id="form1" runat="server">
        <div>
            <a href="Good_1.html">服装</a><!--数字表示商品的类型编号-->
            <a href="Good_2.html">美食</a>
        </div>
    </form>
</body>
</html>

2.在新建一个Webform窗体,用于跳转到的目标窗体,窗体名称可以随便取名

 随后在第二个窗体的后端进行编写

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //获取页面传过来的id
               int value= int.Parse(Request["id"]);
                //输出
                Response.Write("你访问的类型编号是" + value + "的商品列表");
            }
        }

3、新建一个类,并实现IHttpModule接口,在声明请求处理事件

 //实现IHttpModule接口
    public class UrlrewriteModeul : IHttpModule
    {
        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void Init(HttpApplication context)
        {
            context.BeginRequest += context_begingRequest;
            //设置完这里后到Web.config中去配置文件
        }
        //声明请求处理事件
        void context_begingRequest(object sender,EventArgs e)
        {
            //将HttpApplication获取到
            HttpApplication app = sender as HttpApplication();
            //获取原始的Url
           string Url=app.Request.RawUrl;
            //运用正则表达式
            Regex regex_request = new Regex(@"\w+\d\.html");//需导入System.Text.RegularExpressions命名空间
            //判断格式是否符合要求
            if (regex_request.IsMatch(Url))
            {
                //符合条件后,进行截取
                int line = Url.LastIndexOf("_");//找到下划线处
                int dot = Url.LastIndexOf(".");//找到点处
                //根据—_和.,将编号取出来
                string id = Url.Substring(line + 1, dot - line - 1);
                //根据id值,拼接真正的Url
                string directUrl = "~/Home.aspx?id=" + id;
                //用app.Server.Transfer定向到另一个URl上面去
                app.Server.Transfer(directUrl);

            }
        }
    }

4.设置Web.config配置文件

 <!--Url重写配置文件-->
  <system.webServer>
    <modules>
      <add name="url" type="Url重写.UrlrewriteModeul"/><!--项目名称.接口类-->
    </modules>
  </system.webServer>

 这是运行结果

 Good_.html其实就是一个伪Url路径是虚拟的,只是通过它来访问真实的资源路径,这样就可实现网页URl的隐藏

 

标签:网页,Url,void,窗体,context,app,重写,id
From: https://www.cnblogs.com/hyh749/p/17631490.html

相关文章

  • 网页中的快捷复制按钮实现
    有时我们需要实现快捷复制某些信息的功能,例如下图所示:这时我们可以使用document的execCommand来实现这一功能。代码参考:constcopyKey=val=>{constinput=document.createElement('input')input.setAttribute('readonly','readonly')input.setAttribute('valu......
  • 网页播放海康,威视,大华,华为摄像头RTSP流,延迟毫秒级,支持多路播放、H.264/H.265
    一、背景:在遍地都是摄像头的今天,往往需要在各种信息化、数字化、可视化B/S系统中集成实时视频流播放等功能,海康、大华、华为等厂家摄像头或录像机等设备一般也都遵循监控行业标准,支持国际标准的主流传输协议RTSP输出,而Chrome、Firefox、Edge等新一代浏览器从2015年开始取消了NPAPI......
  • C# 获取网页上指定的元素
    直接上代码//usingSystem;//usingSystem.Net.Http;//usingSystem.Threading.Tasks;//usingHtmlAgilityPack;//usingNewtonsoft.Json;//classProgram//{//staticasyncTaskMain(string[]args)//{//usingvarhttpClient=newHttpClient();......
  • 解决Mac 上码云gitee或者github出现The requested URL returned error: 403
    出现场景要把某个项目push到码云上,已经设置了仓库地址,在最后一步直接报错。adodeMacBook-Pro:yimabaoado$gitpush--set-upstreamoriginmasterremote:[session-774b45b9]Accessdeniedfatal:unabletoaccess'https://gitee.com/mzmilk/yimabao.git/':Therequested......
  • 【web_逆向05】URLEncode
    我们这网站中总能看到这样一种url,例如:百度中直接搜索"周杰伦"https://www.baidu.com/sugrec?&prod=pc_his&from=pc_web&json=1&sid=26350&hisdata=%5B%7B%22time%22%3A1691934763%2C%22kw%22%3A%22%E5%91%A8%E6%9D%B0%E4%BC%A6%22%2C%22fq%22%3A4%7D%5D&_t=1691934......
  • Java-重写
    Java-重写重写:就是父亲给儿子的儿子不想要,他要改一下定义:子类对父类给的方法不满意,对父类方法进行重新定义。要求:子类方法的声明必须和父类中的方法完全一样。比如:父类李渊packagecom.wq.bao;/***@authorWangQi*@date2020/4/222:46*/publicclassLiYuan{......
  • 使用swagger时出现Unable to infer base url. This is common when using dynamic ser
    在使用Swagger的时候访问地址后出现了错误,http://localhost:8001/swagger-ui.html一直在弹窗提示,还取消不了我这边自己的问题可能是因为Swagger类没有跟启动类在同一个模块当中,虽然我将Swagger所在的模块进入到启动类所在的模块,但是可能是idea没有识别到.还是报错,可以按照......
  • 通过重写js脚本文件的例子看文件操作
    有以下文件:相对路径:"Resources/MainWindow/MsgHtml/msgtmpl.txt"文件内容: 要求:由于将要进行通信,我们将external0这个网页对象作为qq的发送者,这是可行的,然而接收者只有这一个对象external是不够的,我们将上面的txt文件作为一个初始版本,最后要进行更改,并最终要写入js文件中。......
  • Linux下C语言调用libcurl库获取天气预报信息
    一、概述当前文章介绍如何在Linux(Ubuntu)下使用C语言调用libcurl库获取天气预报的方法。通过HTTPGET请求访问百度天气API,并解析返回的JSON数据,可以获取指定城市未来7天的天气预报信息。二、设计思路【1】使用libcurl库进行HTTPGET请求在代码中包含<curl/curl.h>头文件,以便使用libc......
  • python urllib爬虫的坑 gzip.BadGzipFile: Not a gzipped file
    一句话返回的数据不是gzip加密的打印一下返回的headers数据有一个Content-Encoding就是返回数据的加密方式根据相应的解密就可以  建议把发送的请求里加密方式只留一个gzip或者其他方便解密  还有遇到一个问题就是发送请求目标网站返回的数据一会是加密的一会是原......