Wap 사이트 방문 금지 – 작업 은 이해 되 었 으 나 오 류 를 거 부 했 습 니 다.

2410 단어
Wap 의 상태 코드 및 상태 정보 참조:http://blog.csdn.net/kaosini/article/details/8225951
내 가 조사해 보 니 이 WAP 오 류 는 403 오류 에 대응 했다.403 오류 가 발생 하면 저희 웹 사이트 의 경우 특정한 ip 에 대해 차단 작업 을 하기 때문에 저 는 사용자 의 IP 를 기록 합 니 다.
내 가 원래 IP 를 얻 는 방법 은:
4. 567913. 그러면 사용자 가 대리 IP 가 있 으 면 실제 IP 를 얻 을 수 없습니다.사용자 가 실 행 된 후에 저 는 이 IP (나중에 이 IP 가 대리 IP 라 는 것 을 알 게 되 었 습 니 다) 를 발 견 했 습 니 다. 저 는 모두 차단 목록 에 없 었 습 니 다. 다른 원인 을 찾 아 보 았 습 니 다. 아니면 IP 가 차단 되 었 다 고 느 꼈 습 니까? 그래서 저 는 IP 를 전부 기록 하기 로 결 정 했 습 니 다.
내 가 수정 한 방법 은:
/// <summary>    
///     IP,                   
/// </summary>    
public string IPAddress
{
	string result = String.Empty;
	result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
	if (result != null && result != String.Empty)
	{
		//         
		if (result.IndexOf(".") == -1)    //  "."    IPv4      
			result = null;
		else
		{
			if (result.IndexOf(",") != -1)
			{
				// ",",      。         IP。    
				result = result.Replace(" ", "").Replace("\"", "");
				string[] temparyip = result.Split(",;".ToCharArray());
				for (int i = 0; i < temparyip.Length; i++)
				{
					if (IsIP(temparyip[i])
						&& temparyip[i].Substring(0, 3) != "10."
						&& temparyip[i].Substring(0, 7) != "192.168"
						&& temparyip[i].Substring(0, 7) != "172.16.")
					{
						return temparyip[i];    //             
					}
				}
			}
			else if (IsIP(result)) //    IP      
				return result;
			else
				result = null;    //        IP, IP    
		}
	}
	string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != String.Empty) ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
	if (null == result || result == String.Empty)
		result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
	if (result == null || result == String.Empty)
		result = HttpContext.Current.Request.UserHostAddress;
	return result;
}

이번 기록 에 따 르 면 대리 ip2 와 실제 ip 은 같은 ip 로 대리 ip1 과 달리 실제 ip 을 다시 조사 한 결과 이 ip 은 내 가 차단 한 IP 세그먼트 에 있 는 것 을 발견 하고 삭제 한 후에 사용자 에 게 연락 하여 문제 가 해결 되 었 다.

좋은 웹페이지 즐겨찾기