2011-07-12 4 views
0

ilComment authentifier mon formulaire en utilisant javascript

je dois authentifier avant requête à l'URL, si j'utilise XMLHttpRequest, les choses vont bien

var xmlHttp = ...//some code goes here 
xmlHttp.Open('POST','http://www.somesite.com/',false,userID,password); 
xmlHttp.Send(null); 

Mais si je dois utiliser une forme, comme ci-dessous

>var objForm = eval(formString); 
>objForm.target='demoFrame'; //where demoFrame is an iFrame in another page 
>objForm.action='http://www.somesite.com/'; 
>objForm.username.value=userID; 
>objForm.password.value=password; 
>objForm.method='post'; 
>objForm.submit(); 

Mais semble que le objForm ne peut pas utiliser « nom d'utilisateur » & « mot de passe » comme entrée pour l'authentification, depuis que je continue à recevoir « l'authentification a échoué » me ssage du site hôte

Une idée?

Merci

+2

'eval' est mal. – SLaks

+0

Par curiosité, pourquoi "eval" en JavaScript est-il si mauvais? Tout utilisateur peut exécuter n'importe quel code JavaScript qu'il souhaite dans un site Web en utilisant FireBug ou un équivalent. – Hubro

+0

@CodeMonkey: 'eval' peut permettre à un attaquant d'exécuter Javascript sur le compte de quelqu'un d'autre (s'il peut modifier la chaîne' eval'd). C'est aussi très lent. – SLaks

Répondre

3

Je suppose que l'autre site utilise l'authentification HTTP de base.

Réglez le action-'http://' + userId + ':' + password + '@www.somesite.com/'

+0

Je viens d'essayer, mais a échoué sans chance –

+0

Pourquoi pas? Qu'est-il arrivé? – SLaks

+0

Je suis assez sûr que ce n'est pas a) possible dans de nombreux navigateurs b) intelligent car il montre l'ID utilisateur et mot de passe dans l'URL – mplungjan

Questions connexes