Connaître le nom du fichier appelant l'execution d'un autre fichier php [Résolu]

Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
- - Dernière réponse : syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
- 9 juin 2009 à 21:57
Bonjour à tous.
Voilà, à des fins de plus grande sécurité, j'amerais savoir le nom du fichier appelant un autre fichier php.

Explication par l'exemple:
1 de mes fichiers html possède un formulaire qui, via une méthode POST, transmet des données au fichier test.php.
Ce fichier s'execute donc avec les données reçues. Mon objectif serait d'obtenir le nom/chemin d'accès du fichier html pour ainsi être sûr que le formulaire n'a pas été modifié à mauvais escient.
Bref, je cherche à éviter que n'importe qui puisse utiliser mes scripts php, et que seulement mes fichiers le puissent (ceux-ci sont normalement sur le même serveur, mais pas forcément).

J'espère ne pas avoir été trop compliqué.

Merci d'avance et à bientôt.

Signé Sagat
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
16
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
11 août 2009
3
Merci
Salut sagat06,  tu peux tjrs aussi utiliser une variable $_SESSION comme alternative bien que HTTP_REFERER est présent sur la plupart des navigateurs comme firefox, IE, opera, safari, etc. Suffit de faire isset() avant tout comme dans mon exemple.

Dire « Merci » 3

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

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

Commenter la réponse de cs_BlackDragon
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
3
Merci
Merci BlackDragon.

J'avais aussi pensé à utiliser une session pour pallier les défauts d' HTTP_REFERER (plus parce que l'utilisateur peut le maquiller que pour sa probable abscence).

En gros je vais donc créér une session sur la page avec mon formulaire et la vérifier sur mon fichier test.php.


PS: merci à syndrael d'avoir été très constructif...^^

Signé Sagat

Dire « Merci » 3

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

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

Commenter la réponse de sagat06
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
11
0
Merci
Utiliser tes scripts PHP directement depuis l'extérieur n'est pas possible sans développement de ta part (WebServices ou autres..) par contre le code HTML généré par ton script PHP, un simple fopen le fait..
Donc idée à creuser en fonction de ce que tu désires obtenir.. Mais il faut pas faire du parano que le parano..
S.
Commenter la réponse de syndrael
Messages postés
16
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
11 août 2009
0
Merci
tu peut toujours regarder du cote de $_SERVER['HTTP_REFERER']

exemple que tu pourrais faire au debut de test.php

if( (isset($_SERVER['HTTP_REFERER'])) && ($_SERVER['HTTP_REFERER'] === 'http://www.example.com/formulaire.html'))
{
       // traitement du formulaire
}
else
{
      exit();
}
Commenter la réponse de cs_BlackDragon
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
11
0
Merci
Alors, sauf si je me trompe.. le HTTP_REFERER n'est pas présent chez tous les navigateurs..
S.
Commenter la réponse de syndrael
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
0
Merci
J'avance un peu, merci.

syndrael, je ne cherche pas spécialement à faire mon parano, c'est juste que je pensais que pouvoir savoir quel fichier appelait un script serait intéressant. Etant donné que je compte valider toutes les données postées côté serveur^^

Donc $_SERVER['HTTP_REFERER'] me permet de connaître le fichier appelant test.php. Cela semble être exactement ce que je recherchais.

Je vais me renseigner un peu plus au sujet de cette variable, la possibilité qu'elle ne soit pas transmise par tous les navigateurs pourrait être un soucis.

Je me renseigne avant validation, et si d'autres personnes passant par là auraient de bonnes idées, je suis preneur.


Signé Sagat
Commenter la réponse de sagat06
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
11
0
Merci
Bonjour,
Donc je vais répéter ce que je dis.. le HTTP_REFERER provient du client.. Ce n'est pas le serveur Web ou d'application qui retient la page précédente de chaque connexion.. sinon ou va le monde ?? LOL !!
Si tu l'utilises, vérifie tout d'abord qu'il existe..
S.
Commenter la réponse de syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
11
0
Merci
Y'a pas de quoi .. L'essentiel est que toi aussi tu puisses aider d'autres personnes
Bonne soirée
S.
Commenter la réponse de syndrael