comment tester la presence d'une fonction PHP dans une page ?

comment tester la presence d'une fonction PHP dans une page ? - PHP - Programmation

Marsh Posté le 25-07-2008 à 21:30:44    

Bonjour,
 
je n'arrive pas a trouver s'il est possible de tester la présence d'une fonction (en l'occurence "include()" ) dans une page PHP  ... :??:  
 
Je voudrait faire un test du type :
 

Code :
  1. if (la fonction include() est présente sur la page en cours) {
  2.    je la remplace par une autre qui fait autre chose;
  3. }


Quelqu'un a une idée ???
 
Merci :)


Message édité par jerkeve le 26-07-2008 à 16:47:27
Reply

Marsh Posté le 25-07-2008 à 21:30:44   

Reply

Marsh Posté le 25-07-2008 à 21:57:58    

Reply

Marsh Posté le 25-07-2008 à 23:29:20    

Reply

Marsh Posté le 26-07-2008 à 02:33:50    

NewsletTux a écrit :

http://fr.php.net/manual/fr/functi [...] exists.php ?
 
sinon, PHP powaaa : <?php echo 'coucou'; ?> :D


 
ben non justement ... :

Note: Notez également que function_exists() retournera FALSE pour les instructions comme include_once()  et echo().


 
 
c'est justement include() dont je veux tester l'existance sur cette page  :whistle:

Reply

Marsh Posté le 26-07-2008 à 16:43:31    

ok, apparemment c'est pas clair ...
 
je cherche a sécuriser un minimum ce code en forçant les fichiers appelés par include() à tester leurs existences sur le serveur pour éviter les injections. A vrai dire je ne sais pas trop comment m'y prendre, je tâtonne  :whistle:  ... Si vous avez des idées...  :D  
 
Comme c'est pas moi qui ai créé ce code, il y en a partout, des include(), donc si je pouvais lancer une fonction "patch" en haut de chaque page ça m'éviterais des heures de spéléo dans les pages. Je précise que le site est une passoire question sécurité ...

Reply

Marsh Posté le 26-07-2008 à 19:11:54    

ma sélection de l'include requis se fait pas un switch et en default je mets ma page d'accueil donc si l'inclusion d'une page non existante est demandée cela retournera ma page d'accueil :)

Reply

Marsh Posté le 26-07-2008 à 22:12:09    

oui, je voidrais bien faire un truc du genre, mais il faudrait d'abord que je detecte les includes de la page ...

Reply

Marsh Posté le 26-07-2008 à 23:45:16    

Pourquoi tu veux détecter les includes?  :pt1cable:
 
Tu veux éviter que les fichiers qui doivent être inclus ne soient appelés individuellement?
Si c'est ça le problème tu peux faire un define dans ta page principale et ensuite tester la constante dans les pages inclues.


Message édité par Maxaks le 26-07-2008 à 23:47:45
Reply

Marsh Posté le 27-07-2008 à 00:03:42    

atends, là je décroche Maxaks... comment fais tu ça ? je vois pas ...

Reply

Marsh Posté le 27-07-2008 à 00:25:36    

jerkeve a écrit :

atends, là je décroche Maxaks... comment fais tu ça ? je vois pas ...


 
Si j'ai bien compris à ce que tu veux faire, je ferais ça comme ça :
 
Dans ta page index.php par exemple:

Code :
  1. define(IN_APP, true);


 
Et en haut de chaque page à inclure:

Code :
  1. if (IN_APP !== true) die('Appel hors contexte');


Message édité par Maxaks le 27-07-2008 à 00:26:13
Reply

Marsh Posté le 27-07-2008 à 00:25:36   

Reply

Marsh Posté le 27-07-2008 à 19:51:32    

dsl Maxaks . Toujours pas très clair pour moi : j'accepte d'être  [:alex_] !
 
Par contre, NazzTazz, je vais tester ton truc, ça va blinder un peu le CPU mais si c'est le prix a payer pour éviter les hacks sans refaire tout le site, ce sera parfait pour l'instant...
 
Merci everybody !


Message édité par jerkeve le 27-07-2008 à 19:53:29
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed