Sécuritée PHP [Résolu/Fermé]

Signaler
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
-
 Utilisateur anonyme -
Bonjour a tous,
Voila j'ai un petit serveur web avec php et je voudrais savoir si il est possible pour les utilisateur de voir le code php ?
Par exemple j'ai un petit script de sécurité avec un formulaire et un traitement du genre
if $mdp == lemotdepasse
echo la suite de la page ;

Donc je voulais savoir si il est possible de trouver le mot de passe ou si les utilisateurs voient forcement le code html une fois traité ?
Merci d'avance et bonne fêtes de fin d'année ^^.





--

5 réponses

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 :

if (md5($mdp)=='f71dbe52628a3f83a77ab494817525c6')

Le test ne sera 'true' que si le mot de passe saisi est bien 'toto'.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
123
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.
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
3
C'est bien ce que je pensais ^^
Donc dans aucun cas les utilisateurs ne peuvent voir le code ?

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.
Messages postés
499
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
27 avril 2021
112
Bonsoir,

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.
Messages postés
164
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
8 septembre 2016
3
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.

--