ASP 서버변수중에 사용자 정보를 가지고 올수있는 ServerVariables 라는 함수가 있다.
해당함수를 이용하여 사용자 정보를 취득할수 있으니 참 유용하게 사용할수 있을꺼라 예상된다.
[서버전체의 변수를 뿌리는 예제]
<html>
<body>
<table >
<% For Each key in Request.ServerVariables %>
<tr>
<td><%=key %></td>
<td>
<%
if Request.ServerVariables(key) = "" Then
Response.Write " "
else
Response.Write Request.ServerVariables(key)
end if
%>
</td>
</tr>
<% next %>
</table>
</body>
</html>
우선 위에 예제로 어떤 키들이 있는지 위 루프문을 이용하여 찍어볼수가 있다.
회사 ASP서버에서 한번 해당 구문을 실행해보았다
[결과는 아래처럼 어마어마한 정보들이 나온다.]
민감한 정보는 XXX로 바꾸어 버렸다
ALL_HTTP | HTTP_CONNECTION:keep-alive HTTP_CONTENT_LENGTH:0 HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3 HTTP_COOKIE:ASPSESSIONIDSSBRRTQR=EKCBAHBBBEHIFNHMOMFPIHDO; ASPSESSIONIDSQDRQRRR=IDKLPCOBIJACCLOMOCIFHNMA; admin=Y; ASPSESSIONIDSQDQRTQQ=PBNKAPKCNBIBICLENEKMAMIC; ASPSESSIONIDQSARSQRR=DBOIDHEAONEEAPCJBCIPMFBL; snavi=100 HTTP_HOST:ksb1103.wiznic.net HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 HTTP_UPGRADE_INSECURE_REQUESTS:1 HTTP_X_DOTDEFENDER_FIRST_LINE:GET /serverVariable.asp HTTP/1.1 |
ALL_RAW | Connection: keep-alive Content-Length: 0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3 Cookie: ASPSESSIONIDSSBRRTQR=EKCBAHBBBEHIFNHMOMFPIHDO; ASPSESSIONIDSQDRQRRR=IDKLPCOBIJACCLOMOCIFHNMA; admin=Y; ASPSESSIONIDSQDQRTQQ=PBNKAPKCNBIBICLENEKMAMIC; ASPSESSIONIDQSARSQRR=DBOIDHEAONEEAPCJBCIPMFBL; snavi=100 Host: ksb1103.wiznic.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 Upgrade-Insecure-Requests: 1 X-dotDefender-first-line: GET /serverVariable.asp HTTP/1.1 |
APPL_MD_PATH | /LM/W3SVC/1367980129/Root |
APPL_PHYSICAL_PATH | C:\wwwRoot\Member_Site\M206_XXX\ |
AUTH_PASSWORD | |
AUTH_TYPE | |
AUTH_USER | |
CERT_COOKIE | |
CERT_FLAGS | |
CERT_ISSUER | |
CERT_KEYSIZE | |
CERT_SECRETKEYSIZE | |
CERT_SERIALNUMBER | |
CERT_SERVER_ISSUER | |
CERT_SERVER_SUBJECT | |
CERT_SUBJECT | |
CONTENT_LENGTH | 0 |
CONTENT_TYPE | |
GATEWAY_INTERFACE | CGI/1.1 |
HTTPS | off |
HTTPS_KEYSIZE | |
HTTPS_SECRETKEYSIZE | |
HTTPS_SERVER_ISSUER | |
HTTPS_SERVER_SUBJECT | |
INSTANCE_ID | 1367980129 |
INSTANCE_META_PATH | /LM/W3SVC/1367980129 |
LOCAL_ADDR | 211.242.XXX.XX |
LOGON_USER | |
PATH_INFO | /serverVariable.asp |
PATH_TRANSLATED | C:\wwwRoot\Member_Site\M206_XXX\serverVariable.asp |
QUERY_STRING | |
REMOTE_ADDR | 106.243.XXX.XXX |
REMOTE_HOST | 106.243.XXX.XXX |
REMOTE_USER | |
REQUEST_METHOD | GET |
SCRIPT_NAME | /serverVariable.asp |
SERVER_NAME | ksb1103.wiznic.net |
SERVER_PORT | 80 |
SERVER_PORT_SECURE | 0 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | Microsoft-IIS/6.0 |
URL | /serverVariable.asp |
HTTP_CONNECTION | keep-alive |
HTTP_CONTENT_LENGTH | 0 |
HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
HTTP_ACCEPT_ENCODING | gzip, deflate |
HTTP_ACCEPT_LANGUAGE | ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3 |
HTTP_COOKIE | ASPSESSIONIDSSBRRTQR=EKCBAHBBBEHIFNHMOMFPIHDO; ASPSESSIONIDSQDRQRRR=IDKLPCOBIJACCLOMOCIFHNMA; admin=Y; ASPSESSIONIDSQDQRTQQ=PBNKAPKCNBIBICLENEKMAMIC; ASPSESSIONIDQSARSQRR=DBOIDHEAONEEAPCJBCIPMFBL; snavi=100 |
HTTP_HOST | ksb1103.wiznic.net |
HTTP_USER_AGENT | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 |
HTTP_UPGRADE_INSECURE_REQUESTS | 1 |
HTTP_X_DOTDEFENDER_FIRST_LINE | GET /serverVariable.asp HTTP/1.1 |
여기서 이제 자주사용하는것들에 대한 정보를 간단하게 출력하는 방법
그리고 그부분이 무엇을 뜻하는지 보자
★★ 홈페이지 주소중 ***.com 등을 제외한 경로 ★★
- http_url
<%=request.servervariables("http_url") %>
★★ 현재 도메인 ★★
- http_host
<%=Request.ServerVariables("http_host") %>
★★ 이전 페이지 ★★
- http_referer
<%=Request.ServerVariables("http_referer") %>
★★ 서버 아이디 ★★
- local_addr
<%=Request.ServerVariables("local_addr") %>
★★ 사용자 LogOn 계정이름 ★★
- logon_user
<%=Request.ServerVariables("logon_user") %>
★★ 클라이언트 ip 주소 알아내기 ★★
- remote_addr
<%=Request.ServerVariables("remote_addr") %>
★★ server_name ★★
- server_name
<%=request.ServerVariables("server_name")%>
★★ 현재 페이지 이름 ★★
- url
<%=Request.ServerVariables("url") %>
이것외에도 많은것들이 있지만 자세한건
http://www.w3schools.com/asp/coll_servervariables.asp
여기를 보면 자세히 나와있다. 영어로 되어있다는게 단점;;;
[언어선택후 자동으로 해당페이지로 가도록 하는 예제]
<%
User_Lang = request.ServerVariables("http_accept_language")
response.write User_Lang+"<br>"
if inStr(User_Lang, "ko") > 0 then
'response.redirect "korea.asp"
response.write "한글어 페이지를 로딩"
else
'response.redirect "english.asp"
response.write "영문 페이지를 로딩"
end if
%>
이상 까먹지 안도록 정리해두기 끝~~~
'웹관련 > ASP' 카테고리의 다른 글
[ASP] On Error Resume Next 를 사용한 에러처리방법 (0) | 2017.07.21 |
---|---|
[ASP] ASP배열 (0) | 2016.11.18 |
[ASP] 파일업로드시 파일명 중복되면 (1)이라고 붙히는 함수 (0) | 2016.11.07 |
[ASP] 숫자3단위 ,(콤마) 찍기 / FormatNumber함수 (0) | 2016.11.07 |
[ASP] For 문 (0) | 2016.11.07 |
댓글