mercredi 8 juin 2011

Protège ton système des agressions PHP

Cette directive te permet de désactiver certaines fonctions pour des raisons de sécurité . Elle prend une liste de nom de fonctions, séparés par des virgules. disable_functions n'est pas affectée par le safe mode .

Cette directive doit être configurée dans le fichier php.ini . Tu ne pourrez ni la configurer dans un fichier de conf apache, ni dans un fichier .htaccess .

Exemple (/etc/php5/conf.d/functions-disabled.ini) :
disable_functions = exec, passthru, shell_exec, system, ...
Quelques fonctions interessantes a desactiver :

exec :
Exécute un programme externe
passthru :
Exécute un programme externe et affiche le résultat brut
shell_exec :
Exécute une commande via le Shell et retourne le résultat sous forme de chaîne
system :
Exécute un programme externe et affiche le résultat
proc_open :
Exécute une commande et ouvre les pointeurs de fichiers pour les entrées / sorties
popen :
Crée un processus de pointeur de fichier
curl_exec :
Exécute une session cURL
curl_multi_exec :
Exécute les sous-requêtes de la session cURL
parse_ini_file :
Analyse un fichier de configuration
show_source, highlight_file :
Colorisation syntaxique d'un fichier
set_time_limit :
Fixe le temps maximum d'exécution d'un script
disk_free_space, diskfreespace :
Renvoie l'espace disque disponible sur le système de fichiers ou la partition
tmpfile :
Crée un fichier temporaire
fsockopen :
Ouvre une socket de connexion Internet ou Unix
apache_get_modules :
Retourne la liste des modules Apache chargés
apache_get_version :
Récupère la version d'Apache
apache_getenv :
Lit une variable de processus Apache
apache_note :
Affiche ou affecte le paramètre "apache request notes"
apache_setenv :
Modifie une variable de processus Apache
phpinfo :
Affiche de nombreuses informations sur la configuration de PHP
proc_nice :
Change la priorité d'exécution du processus courant
dl :
Charge une extension PHP à la volée.

Attention cette manipulation va exiger un redémarrage d'apache pour être prise en compte
$ sudo /etc/init.d/apache2 restartou
$ sudo service apache2 restart

Aucun commentaire:

Enregistrer un commentaire