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건 9 페이지
  • RSS
기술자료 목록
38
ClassicASP   12709  2008-04-24 11:47 ~ 2012-03-24 00:00  
37
ClassicASP   15498  2008-04-23 22:02 ~ 2015-02-03 00:00  
36
ClassicASP   15028  2008-04-17 22:30 ~ 2013-06-19 00:00  
35
ClassicASP   19419  2008-04-16 22:54  
34
ClassicASP   19879  2008-04-04 04:45  
33
ClassicASP   13590  2008-03-29 16:40  
32
ClassicASP   28123  2008-03-24 17:55 ~ 2012-05-18 00:00  
31
ClassicASP   13574  2008-03-21 08:36  
30
ClassicASP   31474  2008-03-14 14:53 ~ 2018-03-24 04:08  
29
ClassicASP   14779  2008-03-13 08:04  
28
ClassicASP   12568  2008-03-13 07:31  
27
ClassicASP   32158  2008-03-09 18:44 ~ 2018-05-15 14:37  
26
ClassicASP   24381  2008-03-08 10:40 ~ 2013-11-28 00:00  
25
ClassicASP   25945  2008-03-08 10:34 ~ 2014-07-08 00:00  
24
ClassicASP   11274  2008-01-10 08:48  
23
ClassicASP   28335  2007-12-29 11:18  
22
ClassicASP   11572  2007-12-28 14:42 ~ 2008-10-17 00:00  
21
ClassicASP   23548  2007-09-28 22:39 ~ 2009-11-11 00:00  
20
ClassicASP   12328  2007-09-28 21:47  
19
ClassicASP   18338  2007-09-22 18:30 ~ 2013-12-26 00:00  

검색

해피정닷컴 정보

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

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