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

sagat06 166 Messages postés mercredi 27 juin 2007Date d'inscription 31 mars 2014 Dernière intervention - 8 juin 2009 à 10:54 - Dernière réponse : syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention
- 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

Répondre au sujet
cs_BlackDragon 16 Messages postés mercredi 29 janvier 2003Date d'inscription 11 août 2009 Dernière intervention - 9 juin 2009 à 15:44
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_BlackDragon
sagat06 166 Messages postés mercredi 27 juin 2007Date d'inscription 31 mars 2014 Dernière intervention - 9 juin 2009 à 18:02
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sagat06
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 8 juin 2009 à 12:55
0
Utile
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
cs_BlackDragon 16 Messages postés mercredi 29 janvier 2003Date d'inscription 11 août 2009 Dernière intervention - 8 juin 2009 à 19:08
0
Utile
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
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 8 juin 2009 à 19:55
0
Utile
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
sagat06 166 Messages postés mercredi 27 juin 2007Date d'inscription 31 mars 2014 Dernière intervention - 8 juin 2009 à 20:17
0
Utile
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
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 9 juin 2009 à 08:57
0
Utile
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
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 9 juin 2009 à 21:57
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.