7
votes

Poster à l'URL protégée par mot de passe?

Je travaille sur un projet qui me demande de poster des données à une URL qui nécessite un nom d'utilisateur et un mot de passe d'accès. Comment construire l'URL afin qu'elle se connecte automatiquement dans le système?

$.ajax({
    url: "https://xxxxxxx",
    type: "POST",
    data: "___PUT_BODY___="+file+"&file="+time,
})


1 commentaires

Utilise-t-il l'authentification de base HTTP ou quelque chose de personnalisé et de HTML?


3 Réponses :


6
votes

Si la page utilise l'authentification HTTP "de base" (le type où le navigateur ouvre une petite fenêtre de dialogue demandant un nom d'utilisateur et un mot de passe), vous pouvez simplement faire:

https://username:password@www.example.com/


2 commentaires

Je suis d'accord avec le voix, mais mes 2 cents sont que j'ai tendance à utiliser des lockes personnalisés pour mes pages sécurisées et utilisez des jetons uniques pour accéder à l'accès nécessaire. Donc, mon message aurait des données comme {fichier: fichier, jeton: jeton: jeton} où l'URL est un contournement de verrouillage qui vérifie le jeton et le site de référence pour valider l'accès. Cela semble complexe mais ce n'est pas le cas. Vous pouvez le faire avec des sessions de base et une forme de connexion. Peut-être 20 minutes pour mettre en place.


"Si le serveur effectue une authentification HTTP avant de fournir une réponse, le nom d'utilisateur et la paire de mots de passe peuvent être envoyés via Options de nom d'utilisateur et de mot de passe."



2
votes

Lire le manuel amusant

aussi, ne faites pas votre chaîne de requête La façon dont il sort dans la barre d'Uri, faites-en un objet. En outre, le semi-côon va à la fin de cette déclaration. P>

$.ajax({
    url: "https://example.com",
    type: "POST",
    data: {
            "___PUT_BODY___="   : file, 
            "&file="            : time
          },
    password : "theP4s$w0rD!",
    username : "Bob's big bad world of HTTP Auth"

});


0 commentaires

0
votes

Si la page que vous envoyez est publique, si le nom d'utilisateur / mot de passe doit rester privé, vous devez reconsidérer la mise en place de votre nom d'utilisateur / mot de passe dans la page.

Vous pouvez poster sur une page locale de votre serveur, ce qui peut envoyer les données avec par exemple curl sur le serveur de réception.

Utiliser également CURL Vous pouvez faire n'importe quel type d'authentification dont vous avez besoin.


0 commentaires