Position actuelle: Accueil> Derniers articles> Comment combiner des fonctions IS_EXECUTABLE et IS_READABLE dans PHP pour déterminer les autorisations d'exécution et la lisibilité des fichiers de script?

Comment combiner des fonctions IS_EXECUTABLE et IS_READABLE dans PHP pour déterminer les autorisations d'exécution et la lisibilité des fichiers de script?

gitbox 2025-09-15

Comment combiner des fonctions IS_EXECUTABLE et IS_READABLE dans PHP pour déterminer les autorisations d'exécution et la lisibilité des fichiers de script?

Dans le développement de PHP, il est souvent rencontré qu'il est nécessaire de déterminer si le fichier a des autorisations spécifiques, en particulier l'exécutabilité et la lisibilité du fichier de script. PHP fournit deux fonctions: is_execuable () et is_readable () pour aider les développeurs à faire des jugements d'autorisation. Dans les applications pratiques, la combinaison de ces deux fonctions peut contrôler plus précisément les droits d'accès du fichier pour s'assurer que le fichier remplit les conditions attendues avant d'être exécutées.

1. Fonction is_execuable ()

La fonction is_execuable () est utilisée pour vérifier si le fichier spécifié a une autorisation d'exécution. La valeur de retour de la fonction est une valeur booléenne, qui renvoie True si le fichier est exécutable, autrement faux .

 <span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/script.php'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le fichier est exécutable。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ce fichier n&#39;est pas exécutable。"</span></span><span>;
}
</span></span>

2. Fonction is_readable ()

La fonction is_readable () est utilisée pour vérifier si le fichier a lu l'autorisation. Semblable à is_execuable () , is_readable () renvoie également une valeur booléenne, true si le fichier est lisible, sinon faux .

 <span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/script.php'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_readable</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le fichier est lisible。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ce fichier n&#39;est pas lisible。"</span></span><span>;
}
</span></span>

3. Combiner is_execuable () et is_readable () pour un jugement d'autorisation

Parfois, le simple fait de vérifier si un fichier est lisible ou exécutable n'est pas suffisant, et les développeurs peuvent avoir besoin de juger les deux autorisations en même temps. Supposons que nous devons nous assurer qu'un fichier est à la fois lisible et exécutable, qui peut être réalisé en utilisant les deux fonctions en même temps.

 <span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/script.php'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_readable</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Le fichier est à la fois lisible et exécutable。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ce fichier n&#39;a pas de lecture, d&#39;écriture ou d&#39;exécution des autorisations。"</span></span><span>;
}
</span></span>

4. Exemple: Utilisez IS_EXECUTABLE ET IS_READABLE pour déterminer les autorisations des fichiers de script

Supposons que nous écrivons un script qui permet à l'utilisateur de télécharger des fichiers et de les exécuter. Afin de s'assurer que le fichier téléchargé a les autorisations nécessaires, nous devons vérifier si le fichier est lisible et exécutable avant de l'exécuter.

 <span><span><span class="hljs-comment">// Le chemin du fichier téléchargé par l&#39;utilisateur</span></span><span>
</span><span><span class="hljs-variable">$uploadedFile</span></span><span> = </span><span><span class="hljs-string">'/path/to/uploaded/script.php'</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_readable</span></span><span>(</span><span><span class="hljs-variable">$uploadedFile</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Les fichiers peuvent être lisibles。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fichier non lisible。"</span></span><span>;
}

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_executable</span></span><span>(</span><span><span class="hljs-variable">$uploadedFile</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fichier exécutable。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fichier non exécutable。"</span></span><span>;
}
</span></span>

5. Meilleures pratiques pour le jugement de l'autorité

  1. Priorité de sécurité : assurez-vous que la source de fichier est fiable avant d'autoriser l'exécution du script. Lorsque vous effectuez des téléchargements externes, vous devez être particulièrement prudent pour éviter d'exécuter des fichiers malveillants.

  2. Principe de minimisation des autorisations : ne donnez pas des autorisations inutiles aux scripts, en particulier dans les environnements de production. Pour les fichiers de script sensibles, il est préférable de donner uniquement des autorisations de lecture pour éviter l'exécution directe.

  3. Gestion des erreurs : assurez-vous que lors de la jugement des autorisations de fichiers, vous pouvez gérer de manière appropriée les situations où les autorisations sont insuffisantes, telles que le renvoi des messages d'erreur amicaux ou l'enregistrement des journaux pour le dépannage ultérieur.

6. Résumé

En combinant des fonctions is_execuable () et is_readable () , les développeurs peuvent juger efficacement les autorisations d'exécution et la lisibilité des fichiers. L'utilisation rationnelle de ces fonctions contribuera à améliorer la sécurité de l'application et à éviter certains risques de sécurité causés par les problèmes d'autorisation. En outre, le jugement des autorisations de fichiers n'est qu'une partie de la protection de la sécurité, et les développeurs devraient également prendre plus de mesures, telles que la vérification des entrées, la vérification du type de fichier, etc., pour garantir la sécurité globale du système.