request对象的ServerVariables集合
来源:互联网 发布:网络强国建设论文结尾 编辑:程序博客网 时间:2024/05/16 09:02
【前言】小编再调试新闻发布系统的时候发现IP地址显示不出来,追根溯源终于找到了问题出在了哪里。把我的收获分享给大家!
一、问题
在界面上显示不出来评论人的IP地址,代码中是使request.ServerVariables(“remote_addr”)来获取评论人IP地址的,将代码走查之后发现,获取到的IP是“::1”;因为显示在界面时,为了保护评论人的安全对IP进行了截取只显示部分,自然就显示不出来ip地址了。
二、IP地址为什么会显示为“::1”
我查到的原因是request.ServerVariables(“remote_addr”)获取的是ipv6地址,而“::1”则代表本机地址,所以如果获取的是不同主机的地址那么久不会出现这个问题。
所以我在这里采用了一个比较简单的方式来解决,直接在获取之后判断一下,如果是“::1”就显示本地IP。如果大家有更好的解决方式,欢迎一起交流!
if (userIp =="::1") { userIp = "127.0.0.1"; }
三、asp.net的Request.ServerVariables参数部分说明
Request.ServerVariables["SERVER_NAME"] '获取服务器IP Request.ServerVariables["HTTP_REFERER"] '获取访问来源页面 Request.ServerVariables["OS"] '获取操作系统 request.ServerVariables["APPL_PHYSICAL_PATH"] '获取IIS物理路径 Request.ServerVariables["SCRIPT_NAME"] '获取虚拟路径 Request.ServerVariables["NUMBER_OF_PROCESSORS"] '获取服务器CPU个数 Request.ServerVariables["SERVER_PORT"] '服务器处理请求的端口 Request.ServerVariables["Url"] 返回服务器地址 Request.ServerVariables["Path_Info"] 客户端提供的路径信息 Request.ServerVariables["Appl_Physical_Path"] 与应用程序元数据库路径相应的物理路径 Request.ServerVariables["Path_Translated"] 通过由虚拟至物理的映射后得到的路径 Request.ServerVariables["Script_Name"] 执行脚本的名称 Request.ServerVariables["Query_String"] 查询字符串内容 Request.ServerVariables["Http_Referer"] 请求的字符串内容 Request.ServerVariables["Server_Port"] 接受请求的服务器端口号 Request.ServerVariables["Remote_Addr"] 发出请求的远程主机的IP地址 Request.ServerVariables["Remote_Host"] 发出请求的远程主机名称 Request.ServerVariables["Local_Addr"] 返回接受请求的服务器地址 Request.ServerVariables["Http_Host"] 返回服务器地址 Request.ServerVariables["Server_Name"] 服务器的主机名、DNS地址或IP地址 Request.ServerVariables["Request_Method"] 提出请求的方法比如GET、HEAD、POST等等 Request.ServerVariables["Server_Port_Secure"] 如果接受请求的服务器端口为安全端口时,则为1,否则为0 Request.ServerVariables["Server_Protocol"] 服务器使用的协议的名称和版本 Request.ServerVariables["Server_Software"] 应答请求并运行网关的服务器软件的名称和版本 Request.ServerVariables["All_Http"] 客户端发送的所有HTTP标头,前缀HTTP_ Request.ServerVariables["All_Raw"] 客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_ Request.ServerVariables["Appl_MD_Path"] 应用程序的元数据库路径 Request.ServerVariables["Content_Length"] 客户端发出内容的长度 Request.ServerVariables["Https"] 如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF Request.ServerVariables["Instance_ID"] IIS实例的ID号 Request.ServerVariables["Instance_Meta_Path"] 响应请求的IIS实例的元数据库路径 Request.ServerVariables["Http_Accept_Encoding"] 返回内容如:gzip,deflate Request.ServerVariables["Http_Accept_Language"] 返回内容如:en-us Request.ServerVariables["Http_Connection"] 返回内容:Keep-Alive Request.ServerVariables["Http_Cookie"] 返回内容:Cookie的值 Request.ServerVariables["Http_User_Agent"] 返回内容:Mozilla/4.0[compatible;MSIE6.0;WindowsNT5.1;SV1] Request.ServerVariables["Https_Keysize"] 安全套接字层连接关键字的位数,如128 Request.ServerVariables["Https_Secretkeysize"] 服务器验证私人关键字的位数如1024 Request.ServerVariables["Https_Server_Issuer"] 服务器证书的发行者字段 Request.ServerVariables["Https_Server_Subject"] 服务器证书的主题字段 Request.ServerVariables["Auth_Password"] 当使用基本验证模式时,客户在密码对话框中输入的密码 Request.ServerVariables["Auth_Type"] 是用户访问受保护的脚本时,服务器用於检验用户的验证方法 Request.ServerVariables["Auth_User"] 代证的用户名 Request.ServerVariables["Cert_Cookie"] 唯一的客户证书ID号 Request.ServerVariables["Cert_Flag"] 客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1 Request.ServerVariables["Cert_Issuer"] 用户证书中的发行者字段 Request.ServerVariables["Cert_Keysize"] 安全套接字层连接关键字的位数,如128 Request.ServerVariables["Cert_Secretkeysize"] 服务器验证私人关键字的位数如1024 Request.ServerVariables["Cert_Serialnumber"] 客户证书的序列号字段 Request.ServerVariables["Cert_Server_Issuer"] 服务器证书的发行者字段 Request.ServerVariables["Cert_Server_Subject"] 服务器证书的主题字段 Request.ServerVariables["Cert_Subject"] 客户端证书的主题字段 Request.ServerVariables["Content_Type"] 客户发送的form内容或HTTPPUT的数据类型
【总结】遇到问题,我们先分析一下出现该问题的原因,然后再去找解决方法就容易很多了,欢迎大家一起交流!
阅读全文
1 0
- request对象的ServerVariables集合
- ASP Request对象的ServerVariables集合的所有元素名称
- ASP内置对象Request的ServerVariables集合列表
- ASP内置对象Request的ServerVariables集合列表
- ASP内置对象Request的ServerVariables集合列表
- Request.ServerVariables集合的参数
- Request.ServerVariables集合的参数
- Request.ServerVariables集合
- Request.ServerVariables集合
- Request.ServerVariables集合
- Request.ServerVariables集合
- Request.ServerVariables 集合2
- Request.ServerVariables集合小结
- Request.ServerVariables集合
- Request.ServerVariables参数集合
- 全部的Request.ServerVariables
- Request.ServerVariables的参数
- Request.ServerVariables的用法
- HDU3065:病毒侵袭持续中(AC自动机)
- 关于网络编程中MTU、TCP、UDP优化配置的一些总结
- 正向代理与反向代理总结及代理服务总结
- foreach语句和迭代器
- 面试问题:当我们在浏览器中输入一个域名url时,接下来会做什么
- request对象的ServerVariables集合
- sum of all integer numbers
- python中的一个好用的文件名操作模块glob
- 为何无法正确执行git reset –hard HEAD^
- hdu 5391 素数测试
- spring mvc 入门
- hadoop参考代码
- NOIP模拟 NYG的背包 [高山算法]
- Linux --- sort命令