Proteger fichier php

Résolu
Signaler
Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011
-
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
-
Bonjour le forum

Etant débutant en php, j'aurai besoin d'un coup de main pour proteger un fichier php.

Voici le code:
$EmailTo = "monemail@fai.com";
$Subject = "nouveau message";
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 
$Body = "";
$Body .= "Nom: ";
$Body .= $Name;
$Body .= "\n\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n\n";
$success = mail($EmailTo, utf8_decode($Subject), utf8_decode($Body), "From: <$Email>");


En fait c'est un formulaire en flash qui se sert de ce fichier php pour écrire et envoyer.
Tout marche parfaitement. Seulement si l'on accède directement à ce fichier php, ça envoi un email vide directement sur ma boite mail.

Alors j'ai déjà testé de mettre ce fichier dans un dossier et de mettre un htaccess, mais du coup plus personne n'a accès, ni mon fichier flash.

Donc je pensais juste à mettre un bout de code, du fait que si l'on trouve ce fichier php, ça ne ferai rien de special (voir afficher un texte : "erreur" au lieu d'envoyer un email vide.


Mais je ne sais pas comment traduire ça en php.
pouvez-vous m'aidez ?

4 réponses

Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
1
Salut,

Tu peux, par exemple, faire envoyer à ton Flash une variable 'formFlash' à laquelle tu donne la valeur 'true'.
Ensuite, sur ton PHP tu mets, tout au début, un code du genre :
if(!isset($_POST['formFlash']) || !$_POST['formFlash']) exit();

Ca te fais donc un fichier qui ne fait rien tant que la variable 'formFlash' n'est pas transmise avec une valeur à 'true' (ou autre chose de non nul).

J'espère que c'était quelque chose comme ça que tu recherchais.

-----------------------------------------
Loïc Herblot
Créateur de sites web pour professionnels
http://www.loicherblot.fr
Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011

Bonjour Lherblot

Merci de votre réponse, cependant je n'ai pas assez de connaissance php pour vous dire si votre solution est la bonne...
Mais je vai tester ça de suite !!
Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011

Bon après cet essai concluant !!!
Un gros merci
J'ai donc rajouter à mon flash la variable à true lors de la validation du formulaire.
En fait le isset c'est comme une sorte de verouillage avec la variable qui sert de pass, sinon ça ne fait rien en sortie.

Et ça marche, j'ai aussi testé l'accès direct au fichier et ça ne fait rien en effet !!!

Encore merci
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
1
Pas de souci.
Le isset() permet de vérifier si la variable est bien déclarée afin de ne pas générer d'erreurs.
Bonne continuation.

-----------------------------------------
Loïc Herblot
Créateur de sites web pour professionnels
http://www.loicherblot.fr

Je suis ouvert aux propositions de partenariat professionnel avec d'autres développeurs web, des web designers, rédacteurs web