Wap 사이트 방문 금지 – 작업 은 이해 되 었 으 나 오 류 를 거 부 했 습 니 다.
내 가 조사해 보 니 이 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 세그먼트 에 있 는 것 을 발견 하고 삭제 한 후에 사용자 에 게 연락 하여 문제 가 해결 되 었 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.