J'ai une page web qui contient de nombreux fichiers php et je me demandais comment puis-je empêcher les utilisateurs de voir le php inclus individuellement?PHP y compris d'autres fichiers php question
Répondre
Une façon populaire est de définir une constante dans le fichier comprenant:
define ("INCLUDE_OK", true);
puis de vérifier dans chaque sous-include:
if (!defined("INCLUDE_OK")) die ("This file can't be executed directly");
Sinon, comme @mikerobi dit dans son entreprise réponse supprimée, stockez les fichiers d'inclusion dans un dossier en dehors de la racine Web.
comment stockez-vous des fichiers dans un dossier en dehors de la racine Web? – HELP
@blah De la même manière que vous incluez des fichiers en dehors de la racine Web. Par exemple. 'include (" ../ folder/name.php ");' –
@Pekka Je voulais dire comment stocker des fichiers dans un dossier en dehors de la racine web? – HELP
Vous pouvez définir une variable sur la page principale et créer une vérification simple sur les pages incluses. Si la variable n'est pas définie, n'affichez pas la page. Ce n'est pas joli mais cela fonctionnerait ...
I.e.
//On the main page
$check = true;
include(../someFile.php);
//someFile.php
if($check == true){
//Display your content
}
Dans votre fichier principal, faire quelque chose comme:
<?php
define('AAA',true);
?>
Et dans tous les fichiers d'inclusion écrire ce en haut de régnait dans:
<?php
defined('AAA') or die('Access denied.');
?>
Ou, vous pouvez utiliser les fichiers .htaccess .
Vos fichiers php ne doivent pas faire quoi que ce soit sauf si une fonction est appelée, et vous devez vous assurer que l'extension est php, ou une autre extension compilée avec php (comme includes.php). si vous avez includes.inc par exemple, un serveur affichera simplement le code source de ce fichier, ce qui pose une faille de sécurité en premier lieu. Si vous suivez ces règles, vous n'aurez même pas à vérifier d'autres variables et autres.
+1 Pour expliquer pourquoi cela ne devrait vraiment pas d'importance. –
Si les fichiers PHP ne sont pas supposés être appelés du tout par l'utilisateur, ils ne devraient même pas être dans la racine du document. Par exemple, si la racine de votre document est /var/www/html, je créerais un répertoire /var/www/include et les y placerais. Il est physiquement impossible pour l'utilisateur de les appeler alors, et les pages PHP que l'utilisateur devrait pouvoir peuvent simplement les référencer comme ../include/myinclude.php.
- 1. fichiers PHP, y compris
- 2. PHP classes et y compris les fichiers
- 3. Question sur la page html, y compris en PHP
- 4. Php variable dans plusieurs fichiers, y compris jquery
- 5. page y compris avec mysql en php
- 6. y compris dynamiquement les scripts php
- 7. PHP: Liste tout compris
- 8. OR opérateur en PHP regex (y compris la validation Unicode)
- 9. y compris les fichiers sans avoir à spécifier $ _SERVER [ « DOCUMENT_ROOT »]
- 10. Y compris une page Web externe utilisant PHP
- 11. y compris la classe dans une autre classe en php
- 12. Y compris un fichier PHP dans un autre
- 13. PHP Cron Job: Y compris le fichier ne fonctionne pas?
- 14. Y compris un fichier de classe PHP une seule fois
- 15. Y compris un répertoire entier en PHP ou Wildcard pour une utilisation en PHP Inclure?
- 16. Y compris les fichiers source dans C
- 17. Y compris certains fichiers html statiques?
- 18. Y compris les fichiers sensibles à la casse sur Windows à partir de PHP
- 19. php recherche question
- 20. PHP Regex Question
- 21. PHP ob_start() question
- 22. Simple Apache Ant Question: Y compris les dépendances de bibliothèque
- 23. Y compris les nouveaux fichiers dans SVN diff
- 24. question des fichiers, y compris avec des chemins relatifs sur un système linux
- 25. PHP Menu Question
- 26. Y compris Javascript dans les pages Web
- 27. PHP: Manière la plus simple de supprimer un dossier (y compris son contenu)
- 28. Y compris $ variable dans MySQL
- 29. Y compris un fichier PHP, traite les URL relatives de ce répertoire
- 30. Y compris un fichier via variable
vous pouvez effacer votre question? –
Pouvez-vous expliquer plus s'il vous plaît? comprendre(); plusieurs pages avec accès utilisateur? –
J'ai un fichier appelé includes qui contient de nombreux scripts PHP. – HELP