L'envoi de l'autorisation des en-têtes avec jquery et ajax
J'ai regardé les questions suivantes ici sur stackoverflow avec pas de chance dans ce que j'essaie de faire.
Ajax Autorisation en-têtes de Requête échoue encore et encore
Ajax jQuery non autorisée d'Erreur 401
Envoyer des informations d'authentification inter-domaine des postes?
Voici mon code que j'ai actuellement:
$(document).ready(function() {
$.ajax({
url: 'http://sample.domain.com/script.php?name1=value1&jsonp=?',
type: 'GET',
dataType: 'json',
contentType: "application/json",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authentication", "Basic ZnJvbWFwcGx********uOnRoM24zcmQ1UmgzcjM=") //Some characters have been replaced for security but this is a true BASE64 of "username:password"
},
success: function(data){
alert(data);
}
});
});
</script>
Le sous-domaine que j'ai est mot de passe protégé par un .un fichier htpasswd. La connexion du site fonctionne très bien pour moi, en utilisant le nom d'utilisateur/mot de passe combo utilisé dans l'encoder en base64.
Im l'exécution de ce script sur un autre domaine que celui que l'url est sur et c'est pourquoi j'ai le jsonp=? dans l'url
La réponse im obtenir à partir de la console du navigateur est:
GET http://sample.domain.com/script.php?name1=value1&jsonp=jsonp1334177732136 401 (Authorization Required)
Pour être honnête, chaque méthode est dangereux via HTTP. C'est pourquoi HTTPS existe.
La sécurité n'est pas la question. Ceci est juste un échantillon de ce que j'ai. Ive a réussi à descendre à la base pour essayer d'obtenir quelque chose à travailler. Après j'ai la base de travail, Malade assurer la sécurité.
OriginalL'auteur bretterer | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
JSONP utilise une balise de script de proxy. Il ne serait pas en charge les en-têtes personnalisés. Êtes-vous dans le contrôle de l'ordinateur d'extrémité? Si vous donc sur l'activation de la SCRO, ou de passer la clé d'authentification dans la chaîne.
Lors de l'utilisation de jsonp JQuery convertit votre URL "ajax" demande à:
puis, il écrit une fonction aléatoire
et ajoute ?rappel=json9409d0sf0d9s0df90
votre serveur puis dit
et les envoie à la réponse, de sorte que
est exexcuted par le navigateur et traitées par du jQuery magique des gestionnaires qui font réagir comme un normal ajax de rappel.
Autant que je sache,
<script src=""></script>
d'actifs charges de l'habitude de prendre des en-têtes personnalisés par n'importe quel navigateur standard.OriginalL'auteur j_mcnally
Le nom d'en-tête est
Authorization
, et vous envoyer "Authentication
"par exemple
OriginalL'auteur user2690667