2010-12-01 2 views
1

JavaScript를 사용하여 http의 모든 인스턴스를 https로 변경하고 싶습니다. 어떻게해야합니까? 소스 코드는 어떻게 생겼을까요? 당신이 좋아하는 뭔가를 자바 스크립트로 http를 https로 트래픽을 리디렉션 할 수 있습니다소스 코드에서 JavaScript를 사용하여 모든 http를 https로 변경하려면 어떻게해야합니까?

+1

왜이 작업을 수행 하시겠습니까? 브라우저에서 JS를 끄기 만하면 JS를 통해 아무 것도 변경하지 못하게 할 수 있습니다. 사이트/애플리케이션이 SSL을 사용하는 모든 링크를 변경하도록하려면 서버의 소스에서 수행해야합니다. 또는 Apache에있는 경우 .htaccess 파일을 사용하여 리디렉션 할 수 있습니다. –

답변

-1

: 어쨌든

<script type="text/javascript"> 
<!-- begin hide 
function httpsRedirect() 
{ 
var httpURL = window.location.hostname + window.location.pathname; 
var httpsURL = "https://" + httpURL; 
window.location = httpsURL; 
} 
httpsRedirect(); 
// end hide -->; 
</script> 
0

, 난 당신이 태그 후에 어떤 생각하지만, 다른 사람이 추정이 용이해야한다 :

if (document.location.protocol === 'https:') { 
    $('a').each(function() { 
     var href = $(this).attr('href'); 
     if (href.indexOf('http:') > -1) { 
      href = href.replace('http:', 'https:'); 
      $(this).attr('href', href); 
     } 
    }); 
} 
0

http 도메인 페이지의 서블릿에 https 변경 요청을 보내면 서버는 https 도메인 페이지로 리디렉션됩니다. 자바 스크립트에서 http에서 https로 도메인을 변경하려고하면 모든 최신 브라우저에서 도메인 간 요청이 거부되므로 브라우저 보안 오류가 발생합니다. 다음과 같은 문제가 해결되었습니다.

function readyForSecure(loginID) 
{ 
    if (location.protocol == 'http:') { 
    // https change request 
     HTMLFormElement.prototype.submit.call(document.getElementById('login-box')); 
    } 
} 


<form id="login-box" action='xxxxxx' method="post" accept-charset="UTF-8"> 
    ... 
    <input type="button" value="Login" onfocus="readyForSecure(this.value)"/> 
</form> 

여기에서 참조 할 수 있습니다. refer page.

관련 문제