Proteger fichier php [Résolu]

Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011
- - Dernière réponse : lherblot
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
- 26 oct. 2011 à 14:34
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 ?
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
1
3
Merci
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

Dire « Merci » 3

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

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lherblot
Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011
0
Merci
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 !!
Commenter la réponse de bloodstar98748
Messages postés
4
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
26 octobre 2011
0
Merci
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
Commenter la réponse de bloodstar98748
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
17 février 2012
1
0
Merci
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
Commenter la réponse de lherblot