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건 76 페이지
  • RSS
기술자료 목록
1141
HTML   24386  2012-05-02 20:26 ~ 2018-02-23 22:53  
1140
그누보드   18392  2012-05-01 22:12  
1139
메이크샵   26618  2012-05-01 10:58  
1138
HTML   15954  2012-04-29 17:33 ~ 2019-06-18 10:16  
1137
HTML   24762  2012-04-28 23:27 ~ 2018-06-20 23:57  
열람
ClassicASP   20096  2012-04-27 02:31  
1135
JavaScript   15278  2012-04-26 12:06 ~ 2012-05-26 00:00  
1134
전자결제   31458  2012-04-26 00:36  
1133
ClassicASP   53571  2012-04-24 17:51 ~ 2013-05-12 00:00  
1132
JavaScript   40582  2012-04-24 00:22  
1131
메이크샵   14941  2012-04-23 17:44 ~ 2013-08-16 00:00  
1130
메이크샵   11786  2012-04-23 17:44  
1129
그누보드   10894  2012-04-23 11:44  
1128
일반   13805  2012-04-22 18:38  
1127
Adobe   12125  2012-04-22 15:43  
1126
메이크샵   10813  2012-04-20 23:32  
1125
JavaScript   36158  2012-04-19 23:06 ~ 2012-06-22 00:00  
1124
ClassicASP   15183  2012-04-19 02:17  
1123
etc언어   23802  2012-04-18 18:32 ~ 2016-11-07 00:00  
1122
ClassicASP   15250  2012-04-18 13:41 ~ 2016-03-30 00:00  

검색

해피정닷컴 정보

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

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