2010-12-01 2 views
1

Je voudrais changer chaque instance de http à https en utilisant JavaScript. Comment puis-je faire ceci? à quoi ressemblerait le code source?Comment puis-je modifier chaque http à https en utilisant JavaScript dans le code source?

+1

Pourquoi voudriez-vous faire cela? Changer n'importe quoi via JS pourrait être désactivé en éteignant simplement JS dans le navigateur. Si vous voulez forcer votre site/application à changer tous les liens pour utiliser SSL alors vous devriez le faire dans la source sur le serveur, ou si c'est sur Apache, alors vous pouvez rediriger en utilisant un fichier .htaccess. –

Répondre

-1

Vous pouvez rediriger le trafic http vers https en JavaScript avec quelque chose comme:

<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

Quoi qu'il en soit, je suppose que ce que vous recherchez est-dans les balises, mais il devrait être facile d'extrapoler ceci à d'autres:

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

Vous pouvez envoyer une demande de modification https à servlet dans la page de domaine http, et le serveur redirigera vers la page de domaine https. Essayer de changer de domaine de http à https dans javascript provoquera une erreur de sécurité du navigateur (car les demandes inter-domaines sont refusées dans tous les navigateurs modernes). J'ai résolu le même problème que celui illustré ci-dessous.

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> 

vous pouvez vous référer ici. refer page.

Questions connexes