ASP.NET判断客户机是否使用了代理

''' <summary>
    ''' 判断客户端是否使用了代理服务器<br />
    ''' 本函数最多可以判断到中级匿名的服务器(即至少有一个IP是客户机的真实IP的匿名
    ''' </summary>
    ''' <returns>
    ''' True:【布尔值】表示用户正在使用不匿名、低级匿名、普通匿名的代理服务器<br />
    ''' False:【布尔值】表示用户正在使用高度匿名的代理服务器或者用户没有使用代理服务器
    ''' </returns>
    ''' <remarks>
    ''' 1、本函数不可以查找高匿名度的服务器,因此用户使用高匿名服务器时的返回值与用户不用代理服务器的判断结果一样的<br />
    ''' 2、目前此函数有时候存在用户明明没有使用代理服务器但是函数还是返回True的问题
    ''' </remarks>
    Public Shared Function checkIpPro() As Boolean
        Dim bl As Boolean = False
        Dim FY_IP As String = String.Empty
        FY_IP = HttpContext.Current.Request.ServerVariables("ALL_HTTP").ToLower()
        If FY_IP.IndexOf("proxy") > 0 OrElse FY_IP.IndexOf("http_via") > 0 OrElse FY_IP.IndexOf("http_pragma") > 0 OrElse HttpContext.Current.Request.ServerVariables("HTTP_PROXY_CONNECTION") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_VIA") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_USER_AGENT_VIA") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_PROXY_CONNECTION") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_CACHE_CONTROL") <> "" OrElse HttpContext.Current.Request.ServerVariables("HTTP_CACHE_INFO") <> "" Then
            bl = True
            'bug待修复:刷新页面异常
        End If
        Return bl
    End Function

相关文章

数组的定义 Dim MyArray MyArray = Array(1‚5‚123‚12‚98...
\'参数: \'code:要检测的代码 \'leixing:html或者ubb \'n...
演示效果: 代码下载: 点击下载
环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采...
其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(j...
<% ’判断文件名是否合法 Function isFilename(aFilename...