热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2Request对象的一些属性等

Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如~default.ashxReque
  1. Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如"~/default.ashx"
  2. Request.PhysicalApplicationPath,获取当前应用的物理路径,比如:d:\VS2010\website\
  3. Request.PhysicalPath,获取当前请求的物理路径,即包括文件名,比如:d:\vs2010\website\default.aspx
  4. Request.RawUrl,获取原始请求的URL、Request.Url获得请求的URL,区别涉及到URL重写的问题
  5. Request.UrlReferrer:网页来源,可以根据这个判断访问的网页是来源于哪里,可以防搜索,防下载盗链、防图片盗链,也可以伪造,比如我们可以设置一下一个图片只能内部使用,其它的连接是不能用的。全局防盗链用Globals.asax.
  6. Request.UserHostAddress,获得访问者的IP地址
  7. Request.UserLanguages:获得访问者浏览器支持的语言,可以通过这个实现不同语言的人显示不同语言的页面。
  8. Request.COOKIEs,获取浏览器发过来的浏览器端的COOKIE,从它里面读取COOKIE的值,比如Context.Request.COOKIEs["sessionid"],使用Request.COOKIEs的时候一般只是读取,将COOKIE写回浏览器要用Response.SetCOOKIEs[].
  9. Request.MapPath(virtualPath),将虚拟路径转为磁盘上的物理路径。

分别执行以上的函数:如下代码:

 protected void Button1_Click(object sender, EventArgs e)
        {
            string br = "
"; Response.Write("AppRelativeCurrentExecutionFilePath: "+Request.AppRelativeCurrentExecutionFilePath+br); Response.Write("PhysicalApplicationPath: "+Request.PhysicalApplicationPath+br); Response.Write("PhysicalPath: "+Request.PhysicalPath+br ); Response.Write("RawUrl: "+Request.RawUrl+br); Response.Write("UrlReferrer: "+Request.UrlReferrer.Host + br); Response.Write("UserHostAddress: "+Request.UserHostAddress + br); Response.Write("UserHostName: "+Request.UserHostName + br); Response.Write("UserLanguages: "+Request.UserLanguages[0] + br); Response.Write("MapPath: "+Request.MapPath("~/Default.aspx")); }

则它们的显示结果为:

); using (Bitmap bmp = new Bitmap(picpath)) { using (Graphics g = Graphics.FromImage(bmp)) { if (context.Request.UrlReferrer == null)//如果直接浏览,则UrlReferrer为null { g.Clear(Color.White); g.DrawString("禁止直接浏览图片,请在页面中查看图片", new Font("宋体", 30), Brushes.Red, 0, 0); } else if (context.Request.UrlReferrer.Host != "localhost") { g.Clear(Color.White); g.DrawString("本图片仅限本机用", new Font("宋体", 30), Brushes.Red, 0, 0); } } bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg); } } public bool IsReusable { get { return false; } } } }

客户端我们就用个超连接即可:

"http://www.w3.org/1999/xhtml">
"server">
    


    "form1" runat="server">
    
"Handler1.ashx">图片

当我们直接在浏览器中访问一般处理程序时,即http://localhost:6023/Handler1.ashx,则Request.UrlReferrer为null,如果把localhost改成127.0.0.1,则它拒绝访问。

 

 

——


推荐阅读
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
author-avatar
酷的带_201
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有