

Programmation (163 topics, 2371 messages) Dernier message par Babaorum, le 23/09 à 15:46:11 |
|
| Ginny inscrit le 25/06/2003 |
Bonjour tout le monde ! Je suis nouvelle ici ...
Alors voilà ma situation : J'ai 13 ans ( et oui je suis toute pitite... ) mais j'aime bien tout ce qui est informatique . Et comme ma mère est informaticienne , j'en ai profité . Voilà , grâce à elle , j'ai appris les bases du html ( sans acheter de bouquins enfin quoiqu'en regardant dans l'armoire , avec tout les languages , il doit bien y avoir une vingtaine de livres rien qu'à elle ! lol ). Je tiens un site ( fabriqué moitié éditeur web - moitié manuel ) et j'ai trouvé , sur le net , ce code-ci pour protéger une page d'un profil et d'un mot de passe :
<!----------------------------------------------------------------------------------------
<! Demande profil/mot de passe avant affichage d'un document > <!----------------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet type="text/xsl" href="../api.xsl" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Language" content="fr"> <meta NAME="Author" CONTENT="Ginny & Liva"> <script language="JAVASCRIPT"> var _secret_document = "http://www.webdonline.com/fr/services/forums/forums.asp?id=379187"; function checkLogin() { if (document.login.username.value=="Filles" & document.login.password.value=="rockybalboa") window.location.href = _secret_document; else alert ("TU N'ES PAS UNE FILLE , VAS T'EN !!!!!!"); } </script> <title>Maison</title> </head> <body> <form NAME="login"> <p>Maison: <input TYPE="TEXT" NAME="username" size="20"><br> Mot de passe: <input TYPE="PASSWORD" NAME="password" size="20"></p> <p><input TYPE="BUTTON" VALUE="Login" ONCLICK="checkLogin()"> </p> </form> <script language="javascript">document.write('<img src="http://monsite.voila.fr/servlets/istat?site=poudlard_ginny_liva&page=/login/Login.html&outil=ft pweb&n=' + Math.round(Math.random()*100000) + '" width=1 height=1>'); </script> <script language="javascript">document.write('<img src="http://e.voila.fr/cgi-bin/ft/10000033638?&page=poudlard_ginny_liva_Login.html&n=' + Math.round(Math.random()*100000) + '" width=1 height=1>');</script> </body> </html> Voila . Mais ce que je cherche ( alors comme je ne m'y connais pas trop , je ne sais pas si c'est du PhP ou autre chose ... ) c'est un formulaire , avec inscription automatique au site ... Et que le visiteur ait un profil sur le site avec un mot de passe qu'il a choisit lui-même . Je ne sais pas si vous avez compris ce que je cherchait mais bon ... Allez au revoir tout le monde ! Ginny Message modéré le 25/06 à 11:04:45 par Ginny. |
|
| ZeCoMiC adjoint ![]() inscrit le 01/03/2003 |
Tu peux le faire en php.
Mais ici, nous n'allons pas te donner le script tout fait. On est là pour t'aider si tu as des problemes dans sa conception. Donc à part te mettre à un language coté serveur (tel que le php), je ne pourrai te conseiller autre chose. |
|
| Babaorum adjoint
L'homme n'est qu'une machine inscrit le 01/03/2003 |
Salut Ginny
Juste un petit commentaire sur le script que tu nous as écrit en exemple: ton script Javascript pose un gros problème de sécurité parce que n'importe qui, en regardant le code source de ta page web, va lire cette portion: var _secret_document = "http://www.webdonline.com/fr/services/forums/forums.asp?id=379187"; function checkLogin() { if (document.login.username.value=="Filles" & document.login.password.value=="rockybalboa") window.location.href = _secret_document; et va tout de suite comprendre qu'il doit - soit entrer le login Filles et le mot de passe rockybalboa... - soit carrément aller sur http://www.webdonline.com/fr/services/forums/forums.asp?id=379187 bref tu ne caches pas du tout les références au bon login et au bon mot de passe. POURQUOI ? Tout simplement parce que ce script que tu utilises est un script client c.a.d. qu'il s'exécute sur TON ordinateur, une fois la page web sur ton disque dur (je simplifie). Il en va de même pour n'importe qui allant visiter ta page d'accueil comme tu nous l'as écrite. DONC ... Il faut utiliser un script serveur c.a.d. localisé sur un ordinateur serveur, à distance de celui qui consulte la page. Ce script est exécuté à distance, sur l'ordinateur serveur et n'est donc jamais visible sur l'ordi du surfeur. Deux exemples: - le PHP est un langage de script de type serveur - les scripts CGI écrits en Perl en sont un autre Demande à ta mère de t'expliquer le truc, c'est une notion importante pour faire des sites web. Message modéré le 25/06 à 16:01:04 par Babaorum. |
|
| Ginny inscrit le 25/06/2003 |
Et bah je vous remercie beaucoup , je n'avais pas bien compris , en tout cas ,je vais m'y mettre ! Merci encore ! |
|
Twidi
The Titi touch ![]() inscrit le 07/03/2003 |
ceci dit il existe un petit moyen de faire une page avec mot de passe en javascript, sans indiquer le mot de passe dans le javascript...
il suffit de demander un mot de passe et re renvoyer sur la page motdepasse.html (en remplacant motdepasse par le fameux mot de passe) ainsi celui qui ne connait pas le code aura une erreur 404 page non trouvée, et les autres auront la bonne page bien sur ca ne resoud pas le pbm d'identification login+passe |
|
| Babaorum adjoint
L'homme n'est qu'une machine inscrit le 01/03/2003 |
Oui c connu ce truc et particulièrement efficace
Je regrette de ne pas l'avoir suggéré, j'espère que Ginny le lira. |
|
| scriptman91 inscrit le 07/08/2003 |
jinni c quoi l'adresse de ton site? |
|
| Centaurus inscrit le 06/03/2003 |
Salut,
Voilà, j'avais une sorte de formulaire htm qui me permettait de choisir une page dans une liste et de m'y rendre en cliquant sur un bouton "aller". Mais j'ai du faire une petite erreur et ça ne fonctionne plus et je n'arrive pas à retrouver ce qui ne va pas. Pourrier-vous m'aider s'il vous plait
<form name="form1"> <div align="center"> <p> <select name="menu1"> <option value="#">Liste des dernières mises à jours</option> <option value="photos/2003_articles_beachvolley.htm">Article : Beach Volley</option> <option value="http://clubloisirs76.les-forums.com">Le nouveau forum du site</option> <option value="#">Modification du menu</option> <option value="photos/2003_archives_beachvolley.htm">Ajout de photos du beach</option> <option value="beachvolley/2003_classement.htm">Le classement du beach</option> <option value="photos/2003_archives_tournoivallee.htm">Ajout de photos du tournoi de la vallée</option> </select> <input type="button" name="Button1" value="Aller"> </p> </div> </form> Il y aurait bien un <on click=""> à rajouter quelque part ? Message modéré le 20/09 à 18:25:02 par Centaurus. |
|
| Babaorum adjoint
L'homme n'est qu'une machine inscrit le 01/03/2003 |
Oui sur ton bouton Button1 si tu omets un gestionnaire d'événement il ne se passera rien
Autre remarque sans rapport: Quand je vois <form ...> <div> <p> je m'insurge: à quoi ça sert les CSS si tu n'utilises pas les éléments déjà existants dans ton document, hmm? <form style="text-align:center"> ... </form> et pas besoin de <p></p> d'ailleurs Message modéré le 21/09 à 19:55:02 par Babaorum. |
|
| Centaurus inscrit le 06/03/2003 |
Voici le code tel qu'il a été généré par Dreamweaver (et oui c'est ce que j'utilise, d'où les <div> <p> et autre
Sinon j'ai aussi un code javascript qui s'est mis en head (voir à la fin) <form name="form1"> <div align="center"> <p> <select name="menu1" onChange=""> <option value="#">Liste des dernières mises à jours</option> <option value="photos/2003_articles_beachvolley.htm">Article : Beach Volley</option> <option value="http://clubloisirs76.les-forums.com">Le nouveau forum du site</option> <option value="#">Modification du menu</option> <option value="photos/2003_archives_beachvolley.htm">Ajout de photos du beach</option> <option value="beachvolley/2003_classement.htm">Le classement du beach</option> <option value="photos/2003_archives_tournoivallee.htm">Ajout de photos du tournoi de la vallée</option> </select> <input type="button" name="Button1" value="Aller" onClick="MM_jumpMenuGo('menu1','self',1)"> </p> </div> </form> Le code javascript <script language="JavaScript" type="text/JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_jumpMenuGo(selName,targ,restore){ //v3.0 var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore); } //-
</script> |
|
| Babaorum adjoint
L'homme n'est qu'une machine inscrit le 01/03/2003 |
Rhaaaa c trop compliqué, jette Dreamweaver et tape toi-même tes codes Cento, DW est connu pour assassiner les codes JS
Voilà un code plus clair et plus simple, qui remettra systématiquement sur la première entrée (vide) ta boîte de sélection (SELECT). Je laisse le code HTML tel quel sauf: <input name="Button1" type="button" value="Aller" onclick="go()" /> (et que tu vires le onchange="" vide de ton SELECT) <script type="text/javascript"> <!-- function go() { /* Les valeurs à éviter de traiter sont les entrées de valeur "#". Soit tu les traites par valeur, soit par index dans la boîte de sélection. Ici on traitera par test sur la valeur */ var idx = document.form1.menu1.selectedIndex; var choix = document.form1.menu1.options[idx].value; //DEBUG -- alert("Vous avez choisi le n°" +idx +"\ncorrespondant à la valeur " +choix); if(choix != "#") { self.location = choix; } } // -
</script> Il y a tout ce qu'il te faut: quand tu presses le bouton la fonction go ne prend pas de paramètres, elle cherche toute seule comme une grande le choix que l'utilisateur a fait, met en correspondance la valeur, la compare aux valeurs à éviter et si elle ne correspond pas, elle traite cette valeur comme la nouvelle URL de la fenêtre en cours (g mis "self" plutôt que "window" pour éviter les confusions dans les cadres, à toi de voir ce que tu veux comme fenêtre-cible). Après seulement tu peux étoffer, par exemple en te passant du bouton de validation (alors tu enlèves le bouton et tu mets un onchange sur ton SELECT, même code, saut qu'il est préférable dans ce cas de mettre une première entrée complètement vide ou juste un commentaire (genre "Faîtes votre choix" :-P) sur lequel le choix par défaut sera systématiquement fixé à chaque chargement de la page, grâce à un onload ajouté à ton BODY. Moi j'm bien un petit script dans ce genre: <html> <head> ... <script ...> ... function init() //Tu mets là-dedans tout ce qu'il te faut faire au chargement de la page { document.form1.menu1.selectedIndex = 0; ... } ... </script> ... </head> <body onload="init()"> ... <form name="form1"> <select name="menu1" onchange="go()"> <option value="#">Faîtes votre choix</option> ... </select> </form> ... </body> </html> A chaque chargement de la page, c'est l'index 0 (donc la toute première entrée que g rajoutée) qui sera sélectionné, neutre donc (car même si tu la choisis après à partir d'un autre choix, sa valeur "#" la neutralise également). Par conséquent tout autre choix que cette première valeur sera pris en compte par le onchange. Mais si l'index est différent mais la valeur toujours "#" aucune action ne sera effectuée. J'espère ne pas t'avoir obscurci l'esprit, ce genre de script est super basique. Message modéré le 22/09 à 12:49:51 par Babaorum. |
|
| Centaurus inscrit le 06/03/2003 |
Je vais voir tout ça. C'est clair que Dreamweaver complique un peu les codes. Sinon j'avais essayé le onclick="go" sauf que je crois que j'avais pas mis les "" et ()
Sinon évidemment ton code est bcp plus simple. Mici bcp baba ![]() |
|
| Babaorum adjoint
L'homme n'est qu'une machine inscrit le 01/03/2003 |
Mieux tout en restant simple: que va-t-il se passer lorsque la charge sera complètement chargée dans le navigateur ?
la fonction locale init() est exécutée (important car si tu l'exécutes dans le head en tant qu'instruction JS principale, tu feras référence à des objets JS qui n'existent pas encore: form1 et cie... puisque le code serait exécuté AVANT le chargement des balises HTML )
laquelle va sélectionner dans le formulaire form1 et la boîte de sélection (combo box) menu1 l'option d'index 0 (la première)
donc une fois tout ça fait c'est la combobox qui est sélectionné.
Si l'utilisateur donne un coup de roulette, dans la version sans bouton la page va automatiquement changer (et dans la mesure où le choix hasardeux et involontaire soit celui d'une option dont la valeur ne soit pas "#" bien évidemment) ce genre de code va *déselectionner la combobox* donc on le place après l'attribution de l'index 0 à cette même combobox:
document.form1.menu1.blur(); Mais ça ne fonctionne pas très bien avec tous les navigateurs, c vraiment pour fignoler car il n'y a rien de plus chiant que de faire ce genre de fausse manip à cause de la roulette de sa souris. |
|
Vous ne pouvez pas ajouter de messages.
Forum gratuit proposé par
v 2.6.6
-
Un service
-
Page générée en 0,059 secondes le 21/07 à 00:26:30.