Request("key") 를 사용하지 말자!!! > 기술자료 | 해피정닷컴

Request("key") 를 사용하지 말자!!! > 기술자료

본문 바로가기

사이트 내 전체검색

Request("key") 를 사용하지 말자!!! > 기술자료

ClassicASP Request("key") 를 사용하지 말자!!!

페이지 정보


본문

<%
 '〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 '〓〓〓 Request 값을 구하는 함수  〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 
 '〓 GET 과 POST 두가지 방법 모두로 값이 넘어올 때에는      
 '〓 Request.QueryString 과 Request.Form 두가지를 모두 사용해야 합니다
 '〓 이럴때 보통 Request(아이템명) 이런 방법을 사용합니다.     
 '〓 하지만 이렇게 사용하면 Request.ServerVariables 를 먼저 찾게 되어
 '〓 성능이 떨어지게 됩니다. 그래서 일단 GET 를 먼저 그 다음 POST 를
 '〓 찾아서 값을 가져오도록 합니다.
 '〓 하지만 POST 를 먼저 받아야 할때도 있어 Method 를 선택할 수 있도록
 '〓 파라미터로 받아서 처리하고 있습니다.
 '〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 
 Function fnRequestValue(strRequestItem, method)
 
  Dim strRequestValue, strQueryString, strForm
  
  strQueryString = Trim(Request.QueryString (strRequestItem))
  strForm = Trim(Request.Form (strRequestItem))
  
  If method = "POST" Then
   If Len(strForm) > 0 Then '''= POST 로 넘어오는 값이 있으면
    strRequestValue = strForm
   ElseIf Len(strQueryString) > 0 Then  '''= GET 로 넘어오는 값이 있으면
    strRequestValue = strQueryString
   Else
    strRequestValue = ""
   End If
  Else
   If Len(strQueryString) > 0 Then '''= GET 로 넘어오는 값이 있으면
    strRequestValue = strQueryString
   ElseIf Len(strForm) > 0 Then  '''= POST 로 넘어오는 값이 있으면
    strRequestValue = strForm
   Else
    strRequestValue = ""
   End If
  End If
  
  fnRequestValue = strRequestValue
 
 End Function
%>


사용법은
UserNick = Left(fnRequestValue("nick", "POST"), 20)
이렇게 하면 POST 값을 먼저 검색하고, GET 를 쓰면 GET 를 먼저 검색합니다.
그리고 Left 를 이용해서 잘라서 쓰도록 하는 이유는
악의적인 사용자가 파라미터에 DB 에 영향을 줄 수 있는 문자열을 추가했을 경우 심각한 상황이 발생할 수도 있기 때문에 미리 정의된 파라미터의 최대 길이만큼 잘라서 쓰는 습관을 들여야 하겠습니다.

받아오는 파라미터는 모두 ...+_+



자료인용
http://cafe.naver.com/staeho.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=52 

댓글목록

등록된 댓글이 없습니다.


Total 198건 8 페이지
  • RSS
기술자료 목록
58
ClassicASP   15162  2008-08-02 18:01  
57
ClassicASP   35972  2008-07-16 16:44  
56
ClassicASP   12930  2008-07-10 13:38  
55
ClassicASP   12116  2008-07-01 18:28  
54
ClassicASP   12619  2008-06-23 19:58  
53
ClassicASP   11937  2008-06-23 19:54 ~ 2008-08-02 00:00  
52
ClassicASP   16914  2008-06-23 19:46 ~ 2016-10-21 00:00  
51
ClassicASP   20339  2008-06-23 19:37  
50
ClassicASP   23218  2008-06-23 19:31 ~ 2008-05-27 00:00  
49
ClassicASP   18235  2008-06-23 19:22 ~ 2009-11-11 00:00  
48
ClassicASP   20662  2008-06-19 21:59 ~ 2018-12-01 22:44  
47
ClassicASP   17704  2008-06-14 19:57  
46
ClassicASP   13995  2008-06-11 09:54 ~ 2009-07-20 00:00  
45
ClassicASP   12558  2008-06-10 19:47 ~ 2009-10-26 00:00  
44
ClassicASP   15377  2008-05-29 22:14  
43
ClassicASP   15494  2008-05-23 23:29  
42
ClassicASP   21934  2008-05-23 23:14 ~ 2016-01-23 00:00  
열람
ClassicASP   10069  2008-05-20 19:10  
40
ClassicASP   25394  2008-05-04 09:58  
39
ClassicASP   12537  2008-04-26 15:38  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.