Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Nom | Défaut | Modifiable | Historique |
---|---|---|---|
phar.readonly | "1" | INI_ALL |
|
phar.require_hash | "1" | INI_ALL |
|
phar.cache_list | "" | INI_SYSTEM |
Voici un éclaircissement sur l'utilisation des directives de configuration.
phar.readonly
bool
Cette option désactive la création ou la modification des
archives Phar en utilisant le flux phar
ou le support en écriture sur les objets Phar.
Ce paramètre devrait toujours être activé sur des machines
de production, car le support en écriture sur les archives
phar pourrait mener à la création de virus basés sur PHP en
cas d'utilisation conjuguée avec des vulnérabilités communes.
Note:
Ce paramètre ne peut être désactivé que dans php.ini pour des raisons de sécurité. Si
phar.readonly
est désactivé dans php.ini, l'utilisateur peut activerphar.readonly
dans un script ou le désactiver plus tard. Siphar.readonly
est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.
phar.require_hash
bool
Cette option forcera toutes les archives Phar ouvertes à contenir un type de signature (à ce jour MD5, SHA1, SHA256, SHA512 et OpenSSL sont supportés), et toute archive Phar ne contenant pas de signature sera rejetée.
Note:
Ce paramètre ne peut être désactivé que dans php.ini. Si
phar.require_hash
est désactivé dans php.ini, l'utilisateur peut activerphar.require_hash
dans un script ou le désactiver plus tard. Siphar.require_hash
est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.Ce paramètre n'affecte pas la lecture des fichiers tar avec la classe PharData.
phar.require_hash
ne fournis pas de sécurité en soi,
c'est uniquement une mesure contre exécuter accidentellement des archives
Phar corrompu, car n'importe qui peut trafiquer avec le Phar peut
facilement corriger la signature après.
phar.cache_list
string
Permet aux correspondances d'archives phar d'être traitées au démarrage du serveur web, augmentant de ce fait les performance d'accès aux fichiers contenus dans une archive phar et les rendant très proche d'un accès à des fichiers d'une installation classique sur disque.
Exemple #1 Exemple d'utilisation de phar.cache_list
dans php.ini (windows):
phar.cache_list =C:\chemin\vers\phar1.phar;C:\chemin\vers\phar2.phar
dans php.ini (unix):
phar.cache_list =/chemin/vers/phar1.phar:/chemin/vers/phar2.phar