|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() |
Bonjour,
Je débute quelques peu en ASP et j'ai une question à vous poser : je dois sécuriser plusieurs pages d'un site web avec la système allopass. Pour l'instant, mettons que j'ai trois pages : page1.asp, page2.asp et page3.asp - page1.asp contient le script fournit par allopass. - En cas de code invalide entré, l'utilisateur est redirigé vers page1.asp. - En cas de code valide entré, l'utilisateur est redirigé vers page2.asp. - page2.asp conduit ensuite vers page3.asp. Concrétement, j'ai installé le script sur page1.asp avec succès et la redirection fonctionne. Mon problème est que j'aimerais faire en sorte que si l'utilisateur accède directement aux pages : page2.asp et page3.asp, celui-ci soit redirigé vers page1.asp s'il n'a pas entré de code valide auparavant. (c'est simplement pour éviter les copiages "en dur" de l'adresse des pages : page2.asp et page3.asp dans la barre d'adresse par l'utilisateur malin qui souhaiterais passer outre le système de paiement...) Merci pour votre aide, Alex |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
je suis surpris qu'Allopass ne te dise pas comment faire... as-tu consulté leur doc ou la FAQ ?
__________________
Nico, l'agrotic géomatic |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
J'ai déjà fait la même chose sur un site en PHP, il faut utiliser les sessions (d'ailleurs c'est ce qu'ils te disent de faire sur le site d'allopass)
- sur la page 1 tu crées une variable de session - sur la pages 2 et 3 tu testes ta variable de session, si elle est vide ou non instanciée, c'est qu'on a tenté de acceder à la page sans passer par la page1, dans ce cas tu renvois vers la page 1. Je te donne le principe vite fait, je ne me souviens plus exactement comme j'avais fais ca, l'idée est aussi que ta variable de session puisse également t'indiquer si le code rentré est le bon ou pas, mais je ne me souviens plus du tout comment je recuperais cette info. |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() |
Oui c'est un peu ça dans l'idée... En fait Allopass donne même le code mais en php alors que je veux de l'asp et donc j'ai quelques soucis pour le "traduire" correctement.
Voilà le code de protéction que je souhaite transposer en asp : Code :
Alex |
||
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
laisse moi 5 min je te traduits ca et j'edite mon message
Edit : j'ai traduit rapidement le code, le probleme qui se pose en fait c'est la lecture de l'url distante avec la fonction file en PHP ; en ASP l'ouverture d'URL distante n'est pas supportée par défaut, j'ai trouvé sur le net qu'il y a un composant AspHTTP.Conn qui permet de le faire ; donc j'ai fait le code en supposant que tu l'utilisais. Si tu ne l'as pas il faut trouver un moyen de lire un URL distante, je n'ai pas d'idée de comment le faire. Je me souviens avoir poser la question sur le forum .NET et avoir obtenu une réponse qui semblait pas mal , quelqu'un avait écrit une fonction en .NET qui permettait de le faire, maintenant faut voir si il y a moyen d'adapter cette fonction en ASP ou en réecrire une similaire (en admettant si tu fais la recherches que tu retrouves mon poste). Code :
|
||
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() |
Ok merci beaucoup !
|
|
|
00
|
|
|
#7 | ||
|
Futur Membre du Club
![]() |
En effet, je rencontre un problème :
Code :
|
||
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() |
Je cherche toujours mais je ne trouve pas de solution différente en asp...
Par différente j'entends se passer de l'objet AspHTTP.Conn |
|
|
00
|
|
|
#9 | ||||
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
avec un petit coup d'XMLHttpRequest, ça ne fonctionnerait pas ?
Code :
Code :
__________________
Nico, l'agrotic géomatic |
||||
|
|
00
|
|
|
#10 | ||
|
Futur Membre du Club
![]() |
Peut être, mais dans ce cas, quel serait l'équivalent de :
Code :
Merci agrotic |
||
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
alex, j'ai modifié mon post avec de quoi récupérer une chaine de caractère
la fonction javascript te permet de récupérer la réponse alloPass, à toi de traiter ensuite en comparant la réponse avec 'OK' par exemple. cela à le mérite de ne pas nécessiter l'installation d'un composant sur le serveur, mais t'oblige à faire du traitement javascript (côté client) pour vérifier ce qui a été saisi par l'internaute. (comme je n'ai jamais intégré d'allopass, je ne sais pas si cela sera la méthode qui te conviendra le mieux)
__________________
Nico, l'agrotic géomatic |
|
|
00
|
|
|
#12 | ||||
|
Futur Membre du Club
![]() |
Ok merci, mais voilà comment j'utilise tes fonctions javascript :
Code :
Je pense que c'est soit la valeur retournée par getReponse qui ne peut pas être comparée à un string, soit euh... je ne vois pas en fait... Sinon toujours dans getReponse, a quoi correspondent les valeurs 4 et 200 ? Merci encore. Alex EDIT: j'ai même testé ça : Code :
|
||||
|
|
00
|
|
|
#13 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
attention, mes fonctions sont en javascript et pas en vbscript !
elles s'exécutent donc côté client et pas côté serveur. tu ne peux mélanger du traitement client et serveur ... par contre, tu peux, côté client, construire l'url en vbscript et générer ton javascript qui sera exécuté ensuite. fais une fonction javascript qui redirige vers telle page ou telle autre en fonction de la valeur d'une variable et le tour sera joué. (utilisation de document.location.href=xxx; )
__________________
Nico, l'agrotic géomatic |
|
|
00
|
|
|
#14 |
|
Futur Membre du Club
![]() |
Euh vraiment dsl mais je ne comprends pas ce que tu veux dire, j'ai l'impression que ce que tu me dis c'est ce que je fais déjà, j'ai pas dû saisir un truc important...
|
|
|
00
|
|
|
#15 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
OK,
j'illustre ma réponse avec ton code auquel j'ajoute de la couleur : en rouge : je code exécuté côté client en bleu :le code exécuté côté serveur url = "http://www.allopass.com/check/vf.php4?CODE="&RECALL&"&AUTH="&AUTH if (getReponse(url) <> "OK") then Response.redirect("erreur.asp") Response.end end if ne vois-tu rien de gênant là-dedans ?
__________________
Nico, l'agrotic géomatic |
|
|
00
|
|
|
#16 |
|
Futur Membre du Club
![]() |
Ok je vois mieux, mais c'est pourtant ce que j'ai besoin de faire non ?
EDIT : Qu'entends-tu par "construire l'url en vbscript" ? |
|
|
00
|
|
|
#17 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
en fait, je pense que tu as besoin, si tu utilises ma méthode (qui n'est peut-être pas la meilleure), de faire un code ASP qui génère une page html ne contenant que du code javascript qui fera la vérification et la redirection (même code couleur que précédement) :
1) fichier ASP : response.write "<html><body>" response.write "<script language=javascript>" response.write "function [...]" response.write "var url = http://www.allopass.com/check/vf.php4?CODE=" & RECALL & "&AUTH=" & AUTH & ";" response.write "var reponse = getReponse(url);" response.write "if(reponse == 'OK'){[...]}else{[...]}" response.write "</script>" response.write "</body></html>" 2) fichier html résultant qui exécutera le code javascript : <html><body> <script language=javascript> function [...] var url = http://www.allopass.com/check/vf.php...=xxx&AUTH=yyy; var reponse = getreponse(url); if(reponse == 'OK'){[...]}else{[...]} </script> </body></html> 3) redirection vers la bonne page
__________________
Nico, l'agrotic géomatic |
|
|
00
|
|
|
#18 | |||
|
Futur Membre du Club
![]() |
Bon voilà mon petit compte rendu après plusieurs heures de galère, tout n'est pas encore rose :
Code :
Citation:
Je suis perdu |
|||
|
|
00
|
|
|
#19 | ||||
|
Futur Membre du Club
![]() |
Le problème vient bien de ces deux lignes :
Code :
Citation:
Citation:
|
||||
|
|
00
|
|
|
#20 |
|
Membre actif
![]() Inscription : avril 2004 Messages : 202 ![]() |
tu dois avoir une erreur javascript de retournée, non ?
__________________
Nico, l'agrotic géomatic |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com