Security Image Generator (CAPTCHA) 적용하기 > 기술자료 | 해피정닷컴

Security Image Generator (CAPTCHA) 적용하기 > 기술자료

본문 바로가기

사이트 내 전체검색

Security Image Generator (CAPTCHA) 적용하기 > 기술자료

ClassicASP Security Image Generator (CAPTCHA) 적용하기

페이지 정보


첨부파일

본문

첨부파일설명
첨부없을때.zip :  첨부파일을 사용하지 않을때
자동가입방지2.zip : 첨부파일 업로드 할때

1.  test.asp 생성
<%@ Language=VBScript %>
<%  Option Explicit   %>
<% 
Dim up_form, upload_component
'upload_component = "SiteGalaxy"   ' 업로드컴포넌트 선언
upload_component = "Dext_upload"   ' 업로드컴포넌트 선언
 '======================== DEXT ========================
    if upload_component = "Dext_upload" then
      Set up_form = Server.CreateObject("DEXT.FileUpload")
      up_form.UploadTimeout = 3600
      up_form.DefaultPath = Server.MapPath(".\upload\") & "\"
      'up_form.AutoMakeFolder = True
      'up_form.Codepage = 65001
 '======================== SiteGalaxy ==================
    elseif upload_component = "SiteGalaxy" then
      Set up_form = Server.CreateObject("SiteGalaxyUpload.Form")
    end if
 '======================== end =========================
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<title></title>
<script type="text/javascript">
<!--
function input_check() { 
  var f = document.formwrite;  // 본문 form에서의 name 값으로 수정
  if(f.writer.value == "") {
    alert("writer를 입력해주세요");
    f.writer.focus();
    return false;
  }
  if(f.captchacode.value == "") {
    alert("스팸방지 글자를 입력하셔야 합니다.");
    f.captchacode.focus();
    return false;
  }
}
//-->
</script>
</head>
 
<body>
<form name="formwrite" method="post" id="formwrite" enctype="multipart/form-data" onSubmit="return input_check(this)" action="ok.asp">
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><input name="writer" id="writer" value="<%'=up_form("writer")%>" /></td></tr>
<tr><td colspan="2"><input type="file" name="bf_file1" id="bf_file1" /></td></tr>
<tr><td><a href="javascript:void(0)" onClick="RefreshImage('imgCaptcha')"><img id="imgCaptcha" src="captcha.asp" border="0" alt="글자가 잘 안보이시면 클릭하세요" align="absmiddle" /></a></td>
<td><input name="captchacode" type="text" id="captchacode" value="<%'=up_form("captchacode")%>" size="20" /> 옆의 글자를 입력해주세요.</td>
</tr>
<tr><td colspan="2"><input type="submit" id="btn_submit" value="글쓰기" /></td></tr>
</table>
</form>
<script type="text/javascript">
<!-- // captcha
function RefreshImage(valImageId) {
  var objImage = document.images[valImageId];
  if (objImage == undefined) {
    return;
  }
  var now = new Date();
  objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}
//-->
</script>
</body>
</html>


2. captch.asp 파일을 캡챠 적용시킬 파일이 있는 폴더에 업로드


3. ok.asp
<%@ Language=VBScript %>
<%  Option Explicit   %>
<% 
Dim up_form, upload_component,writer,bf_file1,userfilepath,fs
upload_component = "SiteGalaxy"   ' 업로드컴포넌트 선언
 '======================== DEXT ========================
    if upload_component = "Dext_upload" then
      Set up_form = Server.CreateObject("DEXT.FileUpload")
      up_form.UploadTimeout = 3600
      up_form.DefaultPath = Server.MapPath(".\upload\") & "\"
 '======================== SiteGalaxy ==================
    elseif upload_component = "SiteGalaxy" then
      Set up_form = Server.CreateObject("SiteGalaxyUpload.Form")
    end if
 '======================== end =========================

 
' chapcha 필요함수
function TestCaptcha(byval valSession, byval valCaptcha)
 dim tmpSession
 valSession = Trim(valSession)
 valCaptcha = Trim(valCaptcha)
 if (valSession = vbNullString) or (valCaptcha = vbNullString) then
  TestCaptcha = false
 else
  tmpSession = valSession
  valSession = Trim(Session(valSession))
  Session(tmpSession) = vbNullString
  if valSession = vbNullString then
   TestCaptcha = false
  else
   valCaptcha = Replace(valCaptcha,"i","I")
   if StrComp(valSession,valCaptcha,1) = 0 then
    TestCaptcha = true
   else
    TestCaptcha = false
   end if
  end if
 end if
end function
 
Dim captchacode,SpamCheck
if InStr(Request.ServerVariables("CONTENT_TYPE"), "multipart/form-data") = 1 AND Request.ServerVariables("REQUEST_METHOD") = "POST" then
  'response.write "captchacode1 = "& up_form("captchacode")
  captchacode = up_form("captchacode")
  'response.write "captchacode2 = "& captchacode
  if not IsEmpty(captchacode) then
    if TestCaptcha("ASPCAPTCHA", captchacode) then
      SpamCheck = "no_Spam"
    else
      response.write "<script>alert('스팸방지코드 입력이 올바르지 않습니다. 다시 입력해주세요.');history.back();</script>"
      Response.End():
    end If
  end if
else
  response.write "<script>alert('스팸방지코드 입력이 올바르지 않습니다. 다시 입력해주세요.');history.back();</script>"
  Response.End():
end if

 
writer = up_form("writer")
captchacode = up_form("captchacode")
bf_file1 = up_form("bf_file1")
  
    if bf_file1 <> "" then
    set fs = server.createobject("scripting.filesystemobject")
   userfilepath = bf_file1.filepath
   set fs = nothing
   else
   userfilepath = up_form("userfilename")
   end if
 
response.write captchacode&"<br>"
response.write writer&"<br>"
response.write userfilepath
response.end()
%>


관련자료
http://www.tipstricks.org/

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 1 페이지
  • RSS
기술자료 목록
2641
그누보드   37  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   87  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   113  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   90  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   95  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   143  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   286  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   556  2024-09-05 09:30  
2633
MySQL   950  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1177  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1278  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1228  2024-02-06 16:49  
2629
PHP   1398  2024-02-06 16:42  
2628
호스팅   1243  2024-01-29 12:54  
2627
PHP   1302  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1506  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1612  2024-01-08 12:36  
2624
영카트   1674  2024-01-04 14:57  
2623
일반   2574  2023-12-15 18:33  
2622
Android   2061  2023-11-30 18:48 ~ 2023-11-30 19:41  

검색

해피정닷컴 정보

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

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