게시판 본문 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

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

송원석

2004-12-22 4,515
923

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

포카포카

2004-12-22 1,114
922

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

송원석

2004-12-22 2,803
921

javascript : 엑세스가 거부되었습니다

구나구나

2004-12-22 4,390
920

re: javascript : 엑세스가 거부되었습니다 [2]

송원석

2004-12-22 4,291
919

타임 아웃에러 입니다.

궁금이

2004-12-20 1,161
918

re: 타임 아웃에러 입니다.

송원석

2004-12-20 3,090
917

도큐먼트 페이지의 새로 고침 [8]

정보문

2004-12-20 2,850
916

re: 도큐먼트 페이지의 새로 고침

정보문

2004-12-20 2,802
915

re: 도큐먼트 페이지의 새로 고침

송원석

2004-12-20 2,669
914

인터넷 임시파일에서

정보문

2004-12-18 2,554
913

re: 인터넷 임시파일에서

송원석

2004-12-18 2,489
912

안녕하세요~ ASP 에서 클레스 사용하는 문제인데요..

오마르

2004-12-17 960
911

re: 안녕하세요~ ASP 에서 클레스 사용하는 문제인데요.. [1]

송원석

2004-12-18 2,836
910

재미난 머리싸움 [3]

정보문

2004-12-17 1,049
909

컴파일된 웹 소스

정보문

2004-12-16 990
908

re: 컴파일된 웹 소스

송원석

2004-12-16 2,547
907

업로드 부분.

궁금이

2004-12-14 949
906

re: 업로드 부분.

송원석

2004-12-14 3,331

response.redirect과 location.href

궁금이

2004-12-14 1,478
904

re: response.redirect과 location.href

송원석

2004-12-14 2,860
903

[질문]서로다른 OS에서의 DB 접속 및 데이터 전달

Lorin

2004-12-14 2,740
902

re: [질문]서로다른 OS에서의 DB 접속 및 데이터 전달

송원석

2004-12-14 3,078
901

re: [질문]서로다른 OS에서의 DB 접속 및 데이터 전달

Lorin

2004-12-14 2,975
900

reg 파일을 등록하려면?

정보문

2004-12-14 1,172