예전에는 Request.ServerVariables에 많은 값이 있다고 느꼈는데 이제는 여전히 너무 많은 것을 알 수 있지만 오늘은 값 중 하나인 HTTP_Referer와 Server_Name과 Http_Host의 차이점에 대해 이야기하겠습니다. Request.ServerVariables?
방금 Request.ServerVariables에 몇 개의 값이 있는지 확인하기 위해 코드를 실행해 보았는데 총 50개였습니다!
코드<%=Request.ServerVariables.count%>
예전에는 Request.ServerVariables에 값이 많다고 느꼈는데, 지금 보니 아직도 너무 많은데 오늘은 그 값 중 하나인 ---- HTTP_Referer에 대해 이야기하겠습니다.
우선, 우리는 HTTP_Referer의 가장 일반적으로 사용되는 응용 프로그램이 외부 제출을 방지하는 것임을 먼저 알고 있습니다.
다음 상황에서는 브라우저의 주소 표시줄에서 Request.ServerVariables(HTTP_REFERER)를 정상적으로 가져옵니다.
1) <a href=>를 직접 사용
2) 제출 또는 <입력 유형=이미지>(POST 또는 GET)로 제출된 양식
3) JavaScript(POST 또는 GET)를 사용한 양식 제출
Request.ServerVariables(HTTP_REFERER)가 정상적으로 값을 취할 수 없는 상황을 살펴보겠습니다.
1) 즐겨찾기에서 링크
2) 홈페이지 또는 맞춤 주소를 클릭하세요.
3) 주소를 브라우저에 직접 입력하세요
4) JavaScript의 Location.href 또는 Location.replace()를 사용하세요.
5) <%응답.리디렉션%>
6) <%Response.AddHeader%> 또는 <mete http-equiv=refresh> 리디렉션
7) XML을 사용하여 주소 로드
분명히 Request.ServerVariables(HTTP_REFERER)는 대부분의 경우 제대로 작동하지 않습니다. 향후 기사에서 구체적인 사용법을 자세히 소개하고 Request.ServerVariables(HTTP_HOST)Request.ServerVariables(SERVER_NAME) 간의 차이점도 소개하겠습니다.
계속 지켜봐주세요!
Request.ServerVariables에서 Server_Name과 Http_Host의 차이점은 무엇입니까?
자세히 보지 않으면 둘 사이의 차이점을 알 수 없습니다. 인터넷에서 많이 찾아봤는데 아직도 이해가 안가는데 결국 아주 명쾌한 문장이 나왔습니다. Http_Host는 80이 아닌 Server_Port를 요청할 수 있습니다. 간단히 말하면 Http_Host=Server_Name:Server_Port입니다.
이전에 Http_Referer의 역할에 대한 기사를 게시한 적이 있으며 이제는 이를 결합하여 외부 제출을 방지하는 ASP 기능을 작성하겠습니다.
다음과 같이 코드를 복사합니다.function ChkPost()
희미한 server_v1,server_v2
chkpost=false
server_v1=Cstr(Request.ServerVariables(HTTP_REFERER))
server_v2=Cstr(Request.ServerVariables(SERVER_NAME))
If Mid(server_v1,8,Len(server_v2) ) <>server_v2 다음
chkpost=False
else
chkpost=True
end If
end function
Select Case
실행할 여러 코드 세트 중 하나를 선택하려면 SELECT 문을 사용할 수 있습니다.
다음과 같이 코드를 복사합니다.
select Case Payment
Case Cash
msgbox 하려고 합니다
.pay cash
case Visa
msgbox 당신은 Visa케이스
로 결제할 예정입니다
AmEx msgbox 당신은 American Express케이스
로 결제할 예정입니다
Elsemsgbox Unknown method of Payment
end
위의선택
코드 작동 방식: 먼저 간단한 표현식(일반적으로 변수)이 필요하며 이 표현식은 한 번 평가됩니다. 그런 다음 표현식의 값을 각 경우의 값과 비교하여 일치하는 경우 일치하는 경우에 해당하는 코드가 실행됩니다.