게시판 본문 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 | 5,692 | ||
| 923 |
포카포카 |
2004-12-22 | 1,114 | |
| 922 | 2004-12-22 | 3,395 | ||
| 921 | 2004-12-22 | 5,024 | ||
| 920 | 2004-12-22 | 4,941 | ||
| 919 |
궁금이 |
2004-12-20 | 1,161 | |
| 918 | 2004-12-20 | 3,735 | ||
| 917 |
도큐먼트 페이지의 새로 고침 [8] |
2004-12-20 | 3,459 | |
| 916 | 2004-12-20 | 3,459 | ||
| 915 | 2004-12-20 | 3,246 | ||
| 914 | 2004-12-18 | 3,141 | ||
| 913 | 2004-12-18 | 3,059 | ||
| 912 |
오마르 |
2004-12-17 | 960 | |
| 911 | 2004-12-18 | 3,448 | ||
| 910 |
재미난 머리싸움 [3] |
정보문 |
2004-12-17 | 1,049 |
| 909 |
정보문 |
2004-12-16 | 990 | |
| 908 | 2004-12-16 | 3,107 | ||
| 907 |
궁금이 |
2004-12-14 | 949 | |
| 906 | 2004-12-14 | 4,011 | ||
|
궁금이 |
2004-12-14 | 1,478 | ||
| 904 | 2004-12-14 | 3,449 | ||
| 903 | 2004-12-14 | 3,358 | ||
| 902 | 2004-12-14 | 3,760 | ||
| 901 | 2004-12-14 | 3,602 | ||
| 900 |
정보문 |
2004-12-14 | 1,172 |

sign in
join
re: 정규식 질문입니다. 테그 안에 있는 이것(' or ") 없애기