2012-08-08 2 views
1

사용자가 asp 페이지에서 사용할 수있는 일부 데이터로 다른 asp 페이지로 리디렉션하려고합니다.location.href를 사용하여 리디렉션

var done = confirm("Would you like to save?"); 
if (done == true) 
{ 
    var concode = "<%response.write(concode) %>"; 
    location.href = "Main.asp?concode="+concode; 
} 

내가 그 정보가? "Main.asp concode ="html로 양식과 유사하다 그 후에 URL에 표시되어 나타 납니까 그러나 "GET"방법이 내가 사용하고있는 코드입니다.

이 코드를 html form "post"metod와 비슷하게 만들 수있는 방법이 있습니까? <%request.form("concode")%>을 사용하고 있기 때문에 URL에 서버 이름 및 암호와 같은 중요한 정보가 있습니다.

또는 필요한 것을 얻기 위해 AJAX와 javascript를 함께 사용해야합니까?

+0

"민감한"의미로 사용자가 * 모든 것을 볼 수 없도록하려는 경우 사용자가 Fiddler와 같은 도구를 갖고 있거나보기로 결정하면 POST 메서드로 이동하여 사용자로부터 숨길 수 있습니다 페이지의 출처. 세션에 저장하고 사용자 페이지로 전송하지 말아야합니다. – mellamokb

+0

사실입니다. 그러나 사용자가 이러한 종류의 추적 도구를 사용하지 않는다는 것을 이미 확인했습니다. – blazinazian

+0

공개 웹 사이트입니까? 사용자 중 한 명이 악의적 인 의도가있는 한 사용자가 사용할 수있는 정보를 얻을 수 없다고 가정해서는 안됩니다. 이것이 조직의 완전히 내부 웹 사이트 인 경우 안전한 가정 일 수 있지만 최상의 프로그래밍 방법을 적용하는 것은 여전히 ​​좋은 생각입니다. – mellamokb

답변

1

자바 스크립트에서 데이터를 게시하고 페이지를 변경하지 않고 AJAX를 사용하는 대신 페이지를 결과로 이동하는 가장 쉬운 방법은 해당 정보를 양식에 저장하는 것입니다 , 그리고 submit()입니다. 양식은 숨길 수도 있고 type="hidden" 인 입력으로만 구성되어 UI에 영향을 줄 필요가 없습니다.

즉, 여기에서 추가 된 보안 기능은 어깨 너머로 읽는 것뿐입니다. 중요하지만, 도청 자로부터 HTTPS를 보호해야합니다. (사용자가 아무것도 볼 수 없도록해서는 안되며, 자바 스크립트를 통해 처리 할 수 ​​없습니다.)

+0

도움 주셔서 대단히 감사합니다! 자바 스크립트에 제출 방법이 있다는 것을 몰랐습니다. 더 많이 알면 ... – blazinazian

1

정확합니다. 당신이 말하는 것은 "어이 브라우저,이 쿼리 문자열로이 URL로 가십시오."그리고 실제로 그것은 GET 요청입니다. POST 요청을 사용하려면 실제로 JavaScript와 AJAX가 필요합니다. 예를 들어, jQuery의 AJAX POST 기능 : http://api.jquery.com/jQuery.post/

+0

그래서 원하는 데이터로 send() 함수를 사용하면 xmlhttp.onreadystatechange 속성을 사용하여 창 위치를 변경합니까? 그렇다면 send() 함수와 함께 사용한 정보는 여전히 존재합니까? – blazinazian

관련 문제