게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
response.redirect과 location.href |
---|
작성자: 궁금이
작성일시: 2004-12-14 19:09,
조회수: 1,478
|
우선 수정처리하는 소스는 밑부분에 있구요.
질문은 이것입니다. 거의 맨 하단부분에 보면 검사부분이 끝나고 페이지를 넘겨주는 부분이 있는데요 그 부분이 response.redirect "/board/"&list_page&"?pageno="&pageno&"&group_name="&group_name&"&mode_name="&mode_name&"&search="&search&"&mykeyword="&mykeyword %> 이거랑 <script> location.href = "/board/board_list.asp" </script> 이건데요... 문제점은 response.redirect로 페이지를 넘기면 소스에서 처리하는 부분이 검사를 안하고 그냥 페이지로 넘어가구요 location.href = "/board/board_list.asp" 이런식으로 스크립트 처리해서 넘기면 소스에서 처리하는 부분을 모두 점검을 하고 페이지를 넘긴다는 겁니다. 이게 가끔 이런 증상이 나타나는데 그때마다 location.href로 넘겼는데 이유를 알고 싶어서 질문드립니다. <!--#include virtual = "include/db_config.asp"--> <!--include virtual = "/admin/board/board_config.asp"--> <% Server.ScriptTimeout = 1000 Set uploadform = Server.CreateObject("SiteGalaxyUpload.Form") board_idx = uploadform("board_idx") pageno = uploadform("pageno") search = uploadform("search") mykeyword = uploadform("mykeyword") group_name = uploadform("group_name") mode_name = uploadform("mode_name") 'board_form = uploadform("board_form") board_name = trim(uploadform("board_name")) board_name = replace(board_name, "'", "''") board_pwd = trim(uploadform("board_pwd")) board_email = uploadform("board_email") board_title = uploadform("board_title") board_title = replace(board_title, "'", "''") board_content = uploadform("board_content") board_content = replace(board_content, "'", "''") board_tag = uploadform("board_tag") board_notice = uploadform("board_notice") board_file = uploadform("board_file") ip_address = request.servervariables("Remote_addr") '글쓴이 IP주소 '자신의 글인지 확인 sql = "select board_pwd,session_name,filename from "&group_name&" where mode_name = '"&mode_name&"' and board_idx =" &board_idx set rs = db.execute(sql) old_filename = rs("filename") if session("mem_grade") < 4 then '관리자가 아니라면 if board_pwd <> "" then '넘어온 비밀번호 값이 있다면. if board_pwd <> rs("board_pwd") then response.write "<script language=javascript>"&_ "alert('비밀번호가 틀립니다.');"&_ "history.back();"&_ "</script>" end if elseif board_pwd = "" then if session("mem_id") <> rs("session_name") then response.write "<script language=javascript>"&_ "alert('본인이 작성한 글이 아닙니다.');"&_ "history.back();"&_ "</script>" end if end if '자신의 글확인 점검 끝 end if ' 자신의 글 확인 끝 '저장을 실시한다 file_sql = "select filesize_limit,file_ext_grade,board_form from admin_board_config where group_name = '"&group_name&"' and mode_name = '"&mode_name&"'" set file_rs = db.execute(file_sql) filesize_limit = file_rs("filesize_limit") file_ext_grade = file_rs("file_ext_grade") board_form = file_rs("board_form") set file_rs = nothing if Len(board_file) > 0 then '넘어온 파일이 있다면 '파일용량 체크 If CLng(board_file.Size) > CLng((filesize_limit/1000) * 1024 * 1024) then response.write "<script lenguage=javascript>"&_ "alert('"&filesize_limit&"Mbyte를 초과 할수 없습니다.');"&_ "history.back();"&_ "</script>" End If ' File Size 변환 filesize = CLng(board_file.Size) If filesize > 1024 Then '1024byte(1Kbyte)보다 크면 filesize=filesize / 1024 filesize = CStr(CInt(filesize)) & "K" End If '확장자 제한 확인 Set fs = CreateObject("Scripting.FileSystemObject") filename = fs.getfilename(board_file.filepath) '파일 이름만 추출 strname = Mid(filename, 1, Instr(filename, ".") - 1) '확장자를 제외한 파일명 추출 fileext = Mid(filename, Instr(filename, ".") + 1) '확장자 추출 file_ext_grade = split(file_ext_grade,",") for i = 0 to ubound(file_ext_grade) if fileext = file_ext_grade(i) then response.write "<script lenguage=javascript>"&_ "alert('"&file_ext_grade(i)&"확장자는 업로드 할수 없습니다.');"&_ "history.back();"&_ "</script>" end if next '넘어온 파일에 대해서 이상이 없다면... folder_url = Server.mappath("/") folder_url = folder_url & "\board\files\" '루트상의 파일 디렉토리 folder = folder_url&group_name '그 안에 그룹디렉토리 mode_folder = folder & "\" & mode_name '그룹안에 하위 디렉토리 '저장하기 전에 기존에 있던 파일을 삭제한다 If old_filename <> "" then ' 파일이 있으면 fs.DeleteFile mode_folder & "\" & old_filename ' 파일 삭제 End If '폴더 생성을 완료했으면 저장을 실시한다 save_image = mode_folder & "\" & filename ' 저장할 파일의 경로 설정 db_image = filename '디비에 저장되는 이름 If (FS.FileExists(save_image)) Then ' 같은 이름의 파일이 있을 때 다른이름으로 저장 count = 0 do while FS.FileExists(save_image) count = count + 1 save_image = mode_folder & "\" & CStr(count) & filename db_image = CStr(count) & filename '디비에 저장되는 바뀌는 이름 위에서 선언한 배열에 저장한다. Loop End If board_file.SaveAs save_image ' 파일을 업로드 Set fs = Nothing '모든 작업이 끝났으면 저장을 실시한다. update_sql = "update "&group_name&" set " update_sql = update_sql & "board_name = '"&board_name&"', " update_sql = update_sql & "board_email = '"&board_email&"', " update_sql = update_sql & "board_title = '"&board_title&"', " update_sql = update_sql & "board_content = '"&board_content&"', " update_sql = update_sql & "board_tag = '"&board_tag&"', " update_sql = update_sql & "board_notice = '"&board_notice&"', " update_sql = update_sql & "ip_address = '"&ip_address&"', " update_sql = update_sql & "filename = '"&db_image&"', " update_sql = update_sql & "fileext = '"&fileext&"', " update_sql = update_sql & "filesize = '"&filesize&"' " update_sql = update_sql & "where mode_name = '"&mode_name&"' " update_sql = update_sql & "and board_idx =" & board_idx else '넘어온 파일이 없으면 update_sql = "update "&group_name&" set " update_sql = update_sql & "board_name = '"&board_name&"', " update_sql = update_sql & "board_email = '"&board_email&"', " update_sql = update_sql & "board_title = '"&board_title&"', " update_sql = update_sql & "board_content = '"&board_content&"', " update_sql = update_sql & "board_tag = '"&board_tag&"', " update_sql = update_sql & "board_notice = '"&board_notice&"', " update_sql = update_sql & "ip_address = '"&ip_address&"' " update_sql = update_sql & "where mode_name = '"&mode_name&"' " update_sql = update_sql & "and board_idx =" & board_idx end if '넘어온파일이 있는지 없는지 끝 db.execute(update_sql) '모든 게시판의 저장이 하나의 파일로 이루어 지기때문에 돌아가는 페이지를 설정함 select case board_form case "normal_board" list_page = "board_list.asp" case "pds_board" list_page = "board_list.asp" case "photo_board" list_page = "photo_list.asp" case "lecture_board" list_page = "lecture_list.asp" end select 'response.redirect "/board/board_list.asp" 'response.write "/board/"&list_page&"?pageno="&pageno&"&group_name="&group_name&"&mode_name="&mode_name&"&search="&search&"&mykeyword="&mykeyword 'response.redirect "/board/"&list_page&"?pageno="&pageno&"&group_name="&group_name&"&mode_name="&mode_name&"&search="&search&"&mykeyword="&mykeyword 'rs.close 'set rs = nothing %> <script> location.href = "/board/board_list.asp" </script> |
IP 주소: 61.33.79.10
|
전체 2,095 건의 게시물,
84 페이지로 구성된
ASP, ASP.NET, IIS & Script 게시판의
49 페이지입니다.
게시물 | ||||
---|---|---|---|---|
924 | 2004-12-22 | 4,854 | ||
923 |
포카포카 |
2004-12-22 | 1,114 | |
922 | 2004-12-22 | 2,974 | ||
921 | 2004-12-22 | 4,581 | ||
920 | 2004-12-22 | 4,473 | ||
919 |
궁금이 |
2004-12-20 | 1,161 | |
918 | 2004-12-20 | 3,284 | ||
917 |
도큐먼트 페이지의 새로 고침 [8] |
2004-12-20 | 3,016 | |
916 | 2004-12-20 | 2,981 | ||
915 | 2004-12-20 | 2,829 | ||
914 | 2004-12-18 | 2,709 | ||
913 | 2004-12-18 | 2,638 | ||
912 |
오마르 |
2004-12-17 | 960 | |
911 | 2004-12-18 | 3,010 | ||
910 |
재미난 머리싸움 [3] |
정보문 |
2004-12-17 | 1,049 |
909 |
정보문 |
2004-12-16 | 990 | |
908 | 2004-12-16 | 2,707 | ||
907 |
궁금이 |
2004-12-14 | 949 | |
906 | 2004-12-14 | 3,500 | ||
궁금이 |
2004-12-14 | 1,478 | ||
904 | 2004-12-14 | 3,020 | ||
903 | 2004-12-14 | 2,890 | ||
902 | 2004-12-14 | 3,240 | ||
901 | 2004-12-14 | 3,132 | ||
900 |
정보문 |
2004-12-14 | 1,172 |