본문 바로가기
웹관련/ASP

[ASP] ServerVariables 함수 알아보기

by 착한덕환 2016. 11. 14.



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

%>





이상 까먹지 안도록 정리해두기 끝~~~

댓글