Pb avec la fonction "glob"
tropik
Messages postés
16
Statut
Membre
-
MiSsInGnO -
MiSsInGnO -
Bonjour
Cette ligne fonctionne parfaitement dans le srcipt original
$tableau = glob(PATH . "*.inc.php");
Mais il semble que la variable globale soit refusée par free pour des raisons de sécurité, le tableau n'integre pas mes fichiers
Je cherche un moyen de contourner le probleme sans faire appel a une bdd.
Merci de votre aide
Script complet
<div id="header">
<h1>Gestion des Pseudos Frames</h1>
<ul id="menu">
<li><a href="pseudos-frames.php?page=in_array">in_array</a></li>
<li><a href="pseudos-frames.php?page=glob">glob</a></li>
<li><a href="pseudos-frames.php?page=str_pad">str_pad</a></li>
<li><a href="pseudos-frames.php?page=toto">toto</a> (page inexistante)</li>
</ul>
</div>
<div id="page">
<?php
define("PATH", "./includes/");
// Tableau contenant les pages autorisées
$tableau = glob(PATH . "*.inc.php");
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau))
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau))
{
$pageInclude = PATH . $_GET["page"] . ".inc.php";
}
else {
$pageInclude = PATH . "default.inc.php";
}
include $pageInclude;
?>
</div>
Cette ligne fonctionne parfaitement dans le srcipt original
$tableau = glob(PATH . "*.inc.php");
Mais il semble que la variable globale soit refusée par free pour des raisons de sécurité, le tableau n'integre pas mes fichiers
Je cherche un moyen de contourner le probleme sans faire appel a une bdd.
Merci de votre aide
Script complet
<div id="header">
<h1>Gestion des Pseudos Frames</h1>
<ul id="menu">
<li><a href="pseudos-frames.php?page=in_array">in_array</a></li>
<li><a href="pseudos-frames.php?page=glob">glob</a></li>
<li><a href="pseudos-frames.php?page=str_pad">str_pad</a></li>
<li><a href="pseudos-frames.php?page=toto">toto</a> (page inexistante)</li>
</ul>
</div>
<div id="page">
<?php
define("PATH", "./includes/");
// Tableau contenant les pages autorisées
$tableau = glob(PATH . "*.inc.php");
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau))
if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau))
{
$pageInclude = PATH . $_GET["page"] . ".inc.php";
}
else {
$pageInclude = PATH . "default.inc.php";
}
include $pageInclude;
?>
</div>
A voir également:
- Pb avec la fonction "glob"
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
2 réponses
Salut,
à tu trouvé une solution car j'ai le même pb avec glob qui bien que n'étant pas ds la liste des fonction interdite de Free ne semble pas fonctionner ...
Steph
à tu trouvé une solution car j'ai le même pb avec glob qui bien que n'étant pas ds la liste des fonction interdite de Free ne semble pas fonctionner ...
Steph
La fonction glob() a été désactivée chez Free afin d'éviter une faille.
En effet, glob() renvoie des codes différents lorsqu'un fichier est inexistant et lorsqu'il est inexistant.
Combiné avec les capacités de "wildcard matching" de glob(), ceci permettait d'obtenir un listing complet des dossiers/fichiers sur les serveurs de Free.
Ainsi, on pouvait savoir qu'elles étaient les noms des sessions utilisées sur un compte (pour en prendre le contrôle) ou bien encore d'accéder aux fichiers/dossiers normalement protégés par login/mot de passe (.htaccess) puisque les utilisateurs oublient souvent de protéger le fichier contenant justement les logins/mots de passe. :-/
Par contre, c'est dommage de constater que la liste des fonctions interdites n'est pas à jour dans leur FAQ.
Surtout que le blocage de la fonction ne date pas d'hier... (elle a été désactivée dans les jours qui ont suivi son addition dans PHP)
En effet, glob() renvoie des codes différents lorsqu'un fichier est inexistant et lorsqu'il est inexistant.
Combiné avec les capacités de "wildcard matching" de glob(), ceci permettait d'obtenir un listing complet des dossiers/fichiers sur les serveurs de Free.
Ainsi, on pouvait savoir qu'elles étaient les noms des sessions utilisées sur un compte (pour en prendre le contrôle) ou bien encore d'accéder aux fichiers/dossiers normalement protégés par login/mot de passe (.htaccess) puisque les utilisateurs oublient souvent de protéger le fichier contenant justement les logins/mots de passe. :-/
Par contre, c'est dommage de constater que la liste des fonctions interdites n'est pas à jour dans leur FAQ.
Surtout que le blocage de la fonction ne date pas d'hier... (elle a été désactivée dans les jours qui ont suivi son addition dans PHP)