Securité d'une page Internet

Securité d'une page Internet - PHP - Programmation

Marsh Posté le 23-10-2002 à 18:03:26    

Voilà g un site mais g certaines pages ki doivent être accessible uniquement o admin comment faire?
 
Pour l'instant j'utilise comme méthode, un formulaire HTML ki va ensuite voir la valeur dans un fichier PHP pour comparer le mot de passe saisie a celui du fichier.
 
Kestions :
 
1/ Eske y a un moyen facile et mieux ke le formulaire?
 
2/ Le mot de passe est demandé sur la 1ere page mais pas les suivantes, donc les utilisateurs pourront y accéder mais effectuer aucun traitement car mon script php va les bloquer. Y a-t-il un moyen kil demande le mot de passe si l'user se rend directement sur ce lien sans passer par les liens précédents?
 
3/ Si l'action 2/ est réalisé comment ne pas redeamnder le mot de passe à l'utilisateur à chaque fois kil se rend sur une page securisé en navigant, il faut ki le saisissent kan il arrive sur le site puis cbon
 
 
ps : sans cookie serait mieux merci :jap:
 
 
:hello: à tout à l'heure, je rentre chez moi

Reply

Marsh Posté le 23-10-2002 à 18:03:26   

Reply

Marsh Posté le 23-10-2002 à 18:07:50    

Si t'es sur un serveur Apache, tu peux essayer les fichiers .htaccess.

Reply

Marsh Posté le 23-10-2002 à 18:20:33    

dinbougre888 a écrit a écrit :

Voilà g un site mais g certaines pages ki doivent être accessible uniquement o admin comment faire?
 
Pour l'instant j'utilise comme méthode, un formulaire HTML ki va ensuite voir la valeur dans un fichier PHP pour comparer le mot de passe saisie a celui du fichier.
 
Kestions :
 
1/ Eske y a un moyen facile et mieux ke le formulaire?
 
2/ Le mot de passe est demandé sur la 1ere page mais pas les suivantes, donc les utilisateurs pourront y accéder mais effectuer aucun traitement car mon script php va les bloquer. Y a-t-il un moyen kil demande le mot de passe si l'user se rend directement sur ce lien sans passer par les liens précédents?
 
3/ Si l'action 2/ est réalisé comment ne pas redeamnder le mot de passe à l'utilisateur à chaque fois kil se rend sur une page securisé en navigant, il faut ki le saisissent kan il arrive sur le site puis cbon
 
 
ps : sans cookie serait mieux merci :jap:
 
 
:hello: à tout à l'heure, je rentre chez moi  



Comme le dit Toucouch, t'as le .htaccess ce qui sécurise de manière automatique.
Sinon, t'as le système de session (il y a une classe qui le gère dans php version 4 ). Si t'utilise des .php3, tu peux quand même faire ton propre système de session.
Il sufit de demander à l'utilisateur sonn nom d'utilisateur et son mot de passe, tu met ensuite dans une base de donnée (ou un fichier si tu préfaire) une référence du genre : nom ou ID d'utilisateur, numéro de session, l'adresse Ip de son ordinateur, la date/heure d'ouverture de la session (pour donner une duré de validité) et éventuellement une clé aléatoire.
Ensuite, soit t'envois le numéro de session et la clé dans le cookie soit tu les rajoutes dans tout tes liens (a ce moment là, il devra se réidentifié s'il quitte ton site pour y revenir plus tard).
Quand il accéde à une page sécurisé, tu compare son Ip, sa clé et son numéro de session par rapport à ce que t'as dans ta base ou ton fichier. Si c'est bon et que la session est toujours valide, il est logué, sinon, tu lui affiche aucune info d'administration mais tu lui affiche un message comme quoi il doit s'identifier et le lien vers la page où il peut le faire.
 
 
Voilà en gros (mais assez détaillé) comment tu peux faire.

Reply

Marsh Posté le 23-10-2002 à 19:08:22    

Toucouch a écrit a écrit :

Si t'es sur un serveur Apache, tu peux essayer les fichiers .htaccess.




 
ça m'intéresse mais ça marche comment??? Faut utiliser des cookies?

Reply

Marsh Posté le 23-10-2002 à 19:09:01    

omega2 a écrit a écrit :

Comme le dit Toucouch, t'as le .htaccess ce qui sécurise de manière automatique.
Sinon, t'as le système de session (il y a une classe qui le gère dans php version 4 ). Si t'utilise des .php3, tu peux quand même faire ton propre système de session.
Il sufit de demander à l'utilisateur sonn nom d'utilisateur et son mot de passe, tu met ensuite dans une base de donnée (ou un fichier si tu préfaire) une référence du genre : nom ou ID d'utilisateur, numéro de session, l'adresse Ip de son ordinateur, la date/heure d'ouverture de la session (pour donner une duré de validité) et éventuellement une clé aléatoire.
Ensuite, soit t'envois le numéro de session et la clé dans le cookie soit tu les rajoutes dans tout tes liens (a ce moment là, il devra se réidentifié s'il quitte ton site pour y revenir plus tard).
Quand il accéde à une page sécurisé, tu compare son Ip, sa clé et son numéro de session par rapport à ce que t'as dans ta base ou ton fichier. Si c'est bon et que la session est toujours valide, il est logué, sinon, tu lui affiche aucune info d'administration mais tu lui affiche un message comme quoi il doit s'identifier et le lien vers la page où il peut le faire.
 
 
Voilà en gros (mais assez détaillé) comment tu peux faire.




 
oula oula  :D
Euh je sais pas du tout comment fonctionne un cookie et comment manipuler les ip :/
 
chui un vré noob en html et php

Reply

Marsh Posté le 23-10-2002 à 19:24:21    

en fait tu peux faire plus simple.
 
 - tu crees ton formulaire qui demande le login/pass
 - tu crees un identifiant de session unique (md5(uniq(rand, etc...)
 - tu enregistres dans une base (ou fichier) un truc genre:
 id session, valeur
 
et a chaque page consultee, tu envoies la cle de session en argument.
 
si celle ci est vide, tu affiches le formulaire.

Reply

Marsh Posté le 23-10-2002 à 19:29:31    

apolon34 a écrit a écrit :

en fait tu peux faire plus simple.
 
 - tu crees ton formulaire qui demande le login/pass
 - tu crees un identifiant de session unique (md5(uniq(rand, etc...)
 - tu enregistres dans une base (ou fichier) un truc genre:
 id session, valeur
 
et a chaque page consultee, tu envoies la cle de session en argument.
 
si celle ci est vide, tu affiches le formulaire.




 
ok je v tenter ça
Mais comment ça se passe si l'utilisateur quitte la page internet? ce ki est ds la base j'en fais koi?

Reply

Marsh Posté le 23-10-2002 à 19:36:57    

tu ajoutes un champ de timeout et a chaque nouvelle ouverture de session, tu vides ta base

Reply

Marsh Posté le 23-10-2002 à 19:42:31    

apolon34 a écrit a écrit :

tu ajoutes un champ de timeout et a chaque nouvelle ouverture de session, tu vides ta base




 
euh oui mais si y a 1 ot utilisateur avant? :/

Reply

Marsh Posté le 23-10-2002 à 19:47:21    

dinbougre888 a écrit a écrit :

 
 
euh oui mais si y a 1 ot utilisateur avant? :/




 
tu vides que ceux dont le timeout est epuise, reflechis un peu

Reply

Marsh Posté le 23-10-2002 à 19:47:21   

Reply

Marsh Posté le 23-10-2002 à 20:30:22    

apolon34 a écrit a écrit :

 
 
tu vides que ceux dont le timeout est epuise, reflechis un peu




 
:D
 
ok ok  
 
 
ptite kestion c koi un champ de timeout

Reply

Marsh Posté le 23-10-2002 à 20:55:50    

tu fous ds le champ le time() de la derniere activité du gars
 
qd un utilisateur navigue ton site avant l'affichage tu fais une requete qui effacera les enregistrements dont le timeout est > 15min ( c un exemple)
 
enfin bon cookie + base de données + mot de passe md5 c archi suffisant


---------------
« La boîte du logiciel disait que j'avais besoin de "Windows 95 ou mieux" - alors j'ai acheté un Mac. »
Reply

Marsh Posté le 23-10-2002 à 20:58:16    

Floleb7 a écrit a écrit :

tu fous ds le champ le time() de la derniere activité du gars
 
qd un utilisateur navigue ton site avant l'affichage tu fais une requete qui effacera les enregistrements dont le timeout est > 15min ( c un exemple)
 
enfin bon cookie + base de données + mot de passe md5 c archi suffisant




 
ouais mais il voulait pas de cookie
 
enfin ca revient au meme, a peu de choses pres

Reply

Marsh Posté le 23-10-2002 à 21:01:18    

cookie au moins ça permet de garder l'identification longtemps
alors que les sessions seuls c'est limité
sinon ben le plus simple création d'un .htaccess avec ajout des utilisateurs


---------------
« La boîte du logiciel disait que j'avais besoin de "Windows 95 ou mieux" - alors j'ai acheté un Mac. »
Reply

Marsh Posté le 23-10-2002 à 21:47:18    

meme pas forcement un cookie juste une sessions comme ca si tu te log ailleurs des ke tu fermes le navigateur t'es penard la personne ki repasse derriere n'auras pas les infos pour acceder a l'admin ..

Reply

Marsh Posté le 23-10-2002 à 22:00:30    

ben cliquer sur un lien pour se deconnecter c'est aussi rapide
et se lgoin tt le temps car la session a expiré c'est  :sleep:


---------------
« La boîte du logiciel disait que j'avais besoin de "Windows 95 ou mieux" - alors j'ai acheté un Mac. »
Reply

Marsh Posté le 24-10-2002 à 11:19:18    

bon la meilleure solution me semble le .htaccess
 
donc g crée un fichier .htaccess dans mon répertoire pour mes fichier de gestion du site qu'on va appeller "MonRep"
 
Dans mon fichier .htaccess g

AuthUserFile .FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès protégé"
AuthType Basic
 
<LIMIT GET POST>
Require valid-user
</LIMIT>


 
et g un fichier .FichierDeMotDePasse contenant  

test:test


 
 
et kan je v sur internet explorer et ke je ve sur mon index.html il m'affiche donc la fenêtre de saisie du login et password mais le pb c ke je saisie test et test mais rien de ne passe :/
 
où eske je me suis tropmpé?

Reply

Marsh Posté le 24-10-2002 à 11:27:53    

Ton fichier .FichierDeMotDePasse doit contenir ton mot de passe ENCODE. En gros, pour créer ce fichier, ne le fais pas via Notepad mais par la commande Apache htpasswd :
htpasswd -c .FichierDeMotDePasse test
 
Il te demandera le password, tu l'entreras et il écrira ton fichier tout seul.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-10-2002 à 11:40:40    

c pas obligé de le crypter non?
 
sinon mon fichier de mot de passe ki se trouve ds le même repertoire ke le fichier .htaccess je dois mettre koi ds le fichier htaccess justement concernant le lien? c bien celui ke j'ai mis? ou bien faut ajouter \\ devant

Reply

Marsh Posté le 24-10-2002 à 11:47:08    

Si, faut qu'il soit crypté. Sinon faut mettre une autre option mais ch'ais pu laquelle. T'as un très bon tutorial rapide là : http://www.sitedeveloper.ws/tutorials/htaccess.htm
 
Sinon, Google en tapant "htaccess tutorial" dans la recherche te trouvera tout ce que tu veux.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-10-2002 à 11:48:42    

Taiche a écrit a écrit :

Si, faut qu'il soit crypté. Sinon faut mettre une autre option mais ch'ais pu laquelle. T'as un très bon tutorial rapide là : http://www.sitedeveloper.ws/tutorials/htaccess.htm
 
Sinon, Google en tapant "htaccess tutorial" dans la recherche te trouvera tout ce que tu veux.




 
ok merci
chui déjà sur google et bon bah y a pleins de truc mais parfois un peu compliqué :)

Reply

Marsh Posté le 24-10-2002 à 11:57:00    

comment on fait pour créer le fichier de mot de passe?
 

htpasswd -c .htpasswd username


 
je dois le faire où ça?

Reply

Marsh Posté le 24-10-2002 à 12:15:39    

Côté serveur, en ligne de commande, dans le répertoire où tu veux que ton fichier soit créé. Sinon tu peux aussi spécifier tout seul le répertorie en entier, genre htpasswd -c C:\MonRépertoire\Greuh\.htpasswd test


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-10-2002 à 13:04:06    

oué mais je le tape où la ligne de commande? :/
je vois pas où :(

Reply

Marsh Posté le 24-10-2002 à 14:26:40    

...
Alors imaginons que tu sois sous Windows (si t'es sur Unix, j'peux plus rien pour toi). Démarrer -> Exécuter -> cmd
Là, t'as une invite de commandes DOS ou quelque chose approchant. Tu tapes alors C:\RepertoireApache\bin\htpasswd -c C:\RepertoireAProteger\.htpasswd test
 
Ligne de commande roulèze :sarcastic:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-10-2002 à 14:31:27    

:D
 
chavé pas ke c t ds ce rep :/
g fait sur le rep où y a le htaccess :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed