Session_OnEnd 이벤트는 버그 라이프(?) Session_OnEnd 이벤트에서 Response.Redirect나, Server.MapPath 등의 메쏘드는 동작하지 않습니다. 사실 Session_OnEnd 이벤트는 Request, Response,Server 객체를 지원하지 않죠. 오직 애플리케이션, 세션 객체만을 지원합니다. 따라서 Server.MapPath()를 사용해 파일 경로를 얻어와 Session_OnEnd 이벤트에서 어떤 처리를 해줄 경우에는 반드시 세션이 끝나기 전에 파일의 경로를 얻어와 애플리케이션변수에 저장해 두는 것이 좋습니다. 그렇지 않고 Session_OnEnd 에서 Server.MapPath를 통해 얻어온 파일의 경로로 작업을 한다면 그 결과를 장담할 수가 없죠. 상당히 ..
서버측에서 실행되지 않도 강제로 다운로드 되도록 하는 방법을 소개한다. Response.Expires = 0 Response.Buffer = True Response.Clear On Error Resume Next filename = Request("filename") filepath = Server.MapPath(".") & "\Upload\" & filename Response.ContentType = "application/unknown" Response.CacheControl = "public" Response.AddHeader "Content-Disposition", "attachment;filename=" & filename '스트림 이용 Set objStream = Server.CreateO..
제목은 "~ script 보안"이라는 거창한 말을 썼지만, 기본적으로 서버 스크립트 작성시 보안 관련된 부분에 해당하는 항목들을 모아봤습니다. 1. database 연결 문자열을 web에서 분리 database connection 연결 문자열을 사용하고 있다면, 이 문자열을 별도의 file로 만들어서 관리해야 합니다. http protocol로 접근이 불가능한 위치에 놓거나 별도의 파일로 만들어 불러써야 한다. 2. 중복 login 방지 중복 login 방지를 위한 log table을 DB에 추가하여서 log table에 login된 아이디 record를 삽입, session이 종료되었을 시 session_onend 이벤트를 통해 DB에서 login된 id의 record를 삭제하는 방식. 그리고, Log..
숫자 세자리마다 콤마를 표현하는 방법에 대해 알아보겠습니다. :: ASP Script 에서 표현할 경우 response.write(formatnumber( value, 0, -1 )) :: PHP Script 에서 표현할 경우 echo number_format($value); :: Perl Script 에서 표현할 경우 print cm($value); sub cm { my $num = shift; my ($n) = $num =~ /(\d+)/; 1 while $n =~ s/(\d+)(\d{3})/$1,$2/; $num =~ s/(\d+)/$n/; $num; } :: JSP 에서 표현할 경우 new DecimalFormat("###,###,###,###,###").format(value); 보통은 Bean..
윈도우 2003에서 ASP의 CDONTS.NewMail을 이용한 메일 보내기 윈도우 2000에서 CDONTS.NewMail을 이용해 메일을 보내던 기능이 윈도우 2003으로 버전업 하고나서 오류를 발생하고는 작동하지 않는다. 윈도우 2003은 CDONTS.NewMail대신 CDO.Message를 이용해서 메일 발송이 가능하다. CDO.Message를 이용해 메일을 발송하려면 일단 SMTP서비스를 설치해서 기동되어 있어야 한다. 그후 코딩은 아래를 참고하면 된다. Const cdoSendUsingPort = 2 '1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송 Const strSmartHost = "xxx.xxx.xxx.xxx" '보낼 메일 Host Server 설정 Set objMail..