Sécuritée PHP
Résolu/Fermé
CyRux
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
-
Modifié par CyRux le 17/12/2015 à 19:59
Utilisateur anonyme - 18 déc. 2015 à 14:09
Utilisateur anonyme - 18 déc. 2015 à 14:09
A voir également:
- Sécuritée PHP
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- $This php - Forum PHP
- Echo image php ✓ - Forum PHP
5 réponses
Utilisateur anonyme
Modifié par le père. le 18/12/2015 à 14:22
Modifié par le père. le 18/12/2015 à 14:22
Pour vérifier un mot de passe sans le faire apparaître en clair, tu peux par exemple utiliser le hachage MD5 (qui n'est plus aujourd'hui considéré comme fiable,mais vu ce que tu cherches à faire…).
MD5 est une fonction qui transforme le mot de passe (clair) en une chaine de 32 caractères, l'astuce étant qu'il est (qu'il était…) impossible de faire le calcul en sens inverse.
Si ton mot de passe est, par exemple, 'toto', tu calcules sa signature md5. Si tu n'as pas d'utilitaire qui le fait directement, il te suffit d'une ligne de PHP :
echo md5('toto');
Tu vas trouver f71dbe52628a3f83a77ab494817525c6
Tu effaces toute trace de 'toto' de ton script, mais tu fais le test suivant :
Le test ne sera 'true' que si le mot de passe saisi est bien 'toto'.
MD5 est une fonction qui transforme le mot de passe (clair) en une chaine de 32 caractères, l'astuce étant qu'il est (qu'il était…) impossible de faire le calcul en sens inverse.
Si ton mot de passe est, par exemple, 'toto', tu calcules sa signature md5. Si tu n'as pas d'utilitaire qui le fait directement, il te suffit d'une ligne de PHP :
echo md5('toto');
Tu vas trouver f71dbe52628a3f83a77ab494817525c6
Tu effaces toute trace de 'toto' de ton script, mais tu fais le test suivant :
if (md5($mdp)=='f71dbe52628a3f83a77ab494817525c6')
Le test ne sera 'true' que si le mot de passe saisi est bien 'toto'.
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
17 déc. 2015 à 20:04
17 déc. 2015 à 20:04
Bonjour,
Le code PHP est exécuté côté serveur, il n'est donc jamais visible des internautes, seul le code html est envoyé aux navigateurs.
Le code PHP est exécuté côté serveur, il n'est donc jamais visible des internautes, seul le code html est envoyé aux navigateurs.
CyRux
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
3
17 déc. 2015 à 20:06
17 déc. 2015 à 20:06
C'est bien ce que je pensais ^^
Donc dans aucun cas les utilisateurs ne peuvent voir le code ?
Donc dans aucun cas les utilisateurs ne peuvent voir le code ?
Utilisateur anonyme
17 déc. 2015 à 20:22
17 déc. 2015 à 20:22
Bonjour
Normalement, le code php n'est pas visible mais...
Il peut apparaître suite à une mauvaise manipulation : effacement accidentel de la balise <?php au cours d'une modification, insertion de ?> au mauvais endroit.
J'ai personnellement vu une fois le code source d'une page de mon site s'afficher sans aucune raison. Il a disparu en rafraîchissant ma page et je ne l'ai jamais revu, mais je l'avais vu une fois. Les serveurs aussi peuvent se planter.
Donc un mot de passe en clair dans un code source est strictement interdit, surtout qu'il est très facile de s'en passer. Faire la comparaison dans un fichier inclus, ou comparer un mot de passé crypté ou haché par exemple.
Normalement, le code php n'est pas visible mais...
Il peut apparaître suite à une mauvaise manipulation : effacement accidentel de la balise <?php au cours d'une modification, insertion de ?> au mauvais endroit.
J'ai personnellement vu une fois le code source d'une page de mon site s'afficher sans aucune raison. Il a disparu en rafraîchissant ma page et je ne l'ai jamais revu, mais je l'avais vu une fois. Les serveurs aussi peuvent se planter.
Donc un mot de passe en clair dans un code source est strictement interdit, surtout qu'il est très facile de s'en passer. Faire la comparaison dans un fichier inclus, ou comparer un mot de passé crypté ou haché par exemple.
heliconius
Messages postés
539
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
23 juin 2023
139
17 déc. 2015 à 20:35
17 déc. 2015 à 20:35
Bonsoir,
on utilise PHP pour écrire du HTML. Par exemple pour insérer dans une page un fichier de style, on écrira en PHP :
PHP s'exécute côté serveur, le HTML met en forme côté client, sur son navigateur. Cela veut dire qu'un utilisateur peut voir le source HTML de la page qui se trouve affichée sur son navigateur (côté client, donc) mais ne peut pas voir le code PHP qui a produit cet HTML vu que PHP s'exécute côté serveur. De ce fait, s'il regarde le source de la page, le client ne verra que :
Cela dit, ton petit serveur se trouve où ? S'il se trouve chez un hébergeur, tu as la réponse ci-dessus (à moins que d'autres utilisateurs aient accès à ton serveur). S'il s'avère que ton petit serveur web se trouve sur une machine de ton réseau local et que d'autres utilisateurs ont accès à cette machine, il te faudra procéder autrement. Alors pour répondre plus précisément, il faut savoir dans quel cas tu te situes.
on utilise PHP pour écrire du HTML. Par exemple pour insérer dans une page un fichier de style, on écrira en PHP :
echo "<link ref='stylesheet' href='styles.css' type='text/ccs'>\n";
PHP s'exécute côté serveur, le HTML met en forme côté client, sur son navigateur. Cela veut dire qu'un utilisateur peut voir le source HTML de la page qui se trouve affichée sur son navigateur (côté client, donc) mais ne peut pas voir le code PHP qui a produit cet HTML vu que PHP s'exécute côté serveur. De ce fait, s'il regarde le source de la page, le client ne verra que :
<link ref='stylesheet' href='styles.css' type='text/ccs'>
Cela dit, ton petit serveur se trouve où ? S'il se trouve chez un hébergeur, tu as la réponse ci-dessus (à moins que d'autres utilisateurs aient accès à ton serveur). S'il s'avère que ton petit serveur web se trouve sur une machine de ton réseau local et que d'autres utilisateurs ont accès à cette machine, il te faudra procéder autrement. Alors pour répondre plus précisément, il faut savoir dans quel cas tu te situes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CyRux
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
3
18 déc. 2015 à 13:08
18 déc. 2015 à 13:08
Merci a vous deux pour vous réponses ^^
Mon serveur est une machine de mon reseau local.
Et sinon comment faire pour crypter le mot de passe ?
Merci d'avance et bonne journée a vous 2.
--
Mon serveur est une machine de mon reseau local.
Et sinon comment faire pour crypter le mot de passe ?
Merci d'avance et bonne journée a vous 2.
--