[PHP/SQL] - problème CONFIDENTIALITE/SECURITE

bonsoir à toutes et tous.
je viens de me lancer dans la programmation en php apres avoir tripatouillé du python :love:
je suis niveau débutant mais curieux et volontaire.

alors voilà mon problème:
je veux envoyer un formulaire à diverses personnes avec des champs à remplir puis ils cliquent sur le bouton envoyer et cela m’envoie les infos dans une liste que j’ai préalablement créé.
Pour ce faire, j’utilise la fonction:

$db = mysql_connect(‘localhost’, ‘login’, ‘password’); // connexion à la base
mysql_select_db(‘nom_de_la_base’,$db); // sélection de la base

dans un fichier appelé envoi.php (et j’appelle ce fichier php depuis un fichier formulaire.html)

j’uploade mes 2 fichiers. Tout marche tres bien
MAIS si qn a un aspirateur de sites il me chope mon fichier envoi.php et en le lisant il découvre mon identifiant et mon mot de passe…

Que faire? que me conseillez vous?
merci à tous ceux qui m’ont lu et qui pourront m’éclairer.
Bonne soirée,
Pierre

ce que tu peux faire, c’est crée un fichier php genre definitions.php
a l’interieur tu definis des variables
comme ceci :

define ("NOM","lenom");
define ("PASSE","tonpass");
define ("SERVEUR","tonserveur");
define ("BASE","tabase");

ainsi à chaque fois que tu veux utiliser mysql tu fais ceci :

include("definitions.php");
 $db = mysql_connect('SERVEUR', 'NOM', 'PASSE'); // connexion à la base
mysql_select_db(BASE',$db); // sélection de la base 

je ne garanties pas si ça sera bon mais tu peux toujours tester.

raté.

$db = mysql_connect(SERVEUR, NOM, PASSE); // connexion à la base

Deux solutions :

  1. changer le mot de passe (voir sur la doc mySQL je crois que c’est ALTER PASSWORD FOR… ou un truc du genre)
  2. protéger le fichier php par htaccess quelque part d’innaccessible

Ou bien inclure un fichier qui se trouve quelque part au dessus de l’arborescence acccessible depuis le net.

yep :slight_smile: mais c’est rarement possible.

Moi j’ai privilégié la solution changement de mot de passe

Toutes vos solutions sont totalement inutilie, pour la simple et bonne raison que le script actuel est déjà entièrement sécurisé !!

Si quelqu’un aspire le site, il ne recevra pas le code php original, mais la page compilité, qui dans ce cas sera surement une page blanche ou un message d’erreur.
Il est impossible de récupérer le code php d’une page online, sinon les hacks seraient bcps trop simple :slight_smile:

Pour vérifier ce que je te dis, lance la page envoi.php direct et regarde le code source : il ne contiendra que du htm normal. En aspirant le site, le résultat sera le même

(donc si le module php part dans les choux, que le serveur décide de servir la page sans passer par php, tu affiche le code alors que tu as une solution viable pour empêcher ça…)

C’est pas pour rien qu’on parle de htaccess. C’est pas parce que t’as un serveur gentil qui te dis que “.php” => parsé par php, que les pages php sont cachés du grand public.

En sécurité, c’est toujours affaire de paranoïa : moi, qu’on me dise que le contenu d’une page soit envoyé en html (ou autre format) et qu’il y aura pas de php, ça ne me convient pas. je veux qu’il n’y ait simplement pas d’accès.

Car là je suis sûr que mon script est sécurisé car seul php peut y accéder, et c’est tout.

Note bien aussi que même si le fichier est analysé par php, y a sûrement même moyen de le voir tel quel.

Bref.

Même ainsi, je pense qu’il est nécessaire de mettre les identifiants dans un dossier protegé par un .htaccess, et l’inclure dans la page. Il arrive en effet que suite à une mise à jour de la configuration du serveur, les pages php ne soient plus interpretées (et donc affichées comme du texte). C’est rare, c’est en général rapidement réparé, mais c’est déjà arrivé plus d’une fois :slight_smile: Dans ce cas là, le .htaccess offre une protection supplémentaire non négligeable.

Oui il est tjs bien de mettre les identificants dans un dossier à part protégé par htacess, mais bon le risque que le code php ne soit pas interprété est relativement faible

A part être un hackeur de talent, je n’en vois pas énormément :slight_smile:

De ce que m’avait expliqué une de mes profs (ceci dit c’était pas une lumière) c’est relativement simple à faire.

Si c’était si simple que sa à faire, tout les sites en php se feraient hacker … et bien que les hacks soient assez fréquent, cette technique n’est pratiquement jamais utilisé.

Enfin sa ne reste que mon avis

je plussois :oui:

Kisscool> tu pourrais me l’expliquer? je sais que c’est avec telnet, mais je veux essayer!!! :stuck_out_tongue: