Restrictions des hébergeurs : ajouter opérateur @ à ini-set et remplacer php_uname
Bonjour,
Pour des raisons de sécurité, les sites institutionnels commencent à interdisent de plus en plus de fonctions php "sensibles" sur leurs serveurs. C'est le cas de mon université, et j'essaye, dans l'urgence, de faire le point sur les fonctions dont l'interdiction (annoncée pour dans très peu de temps) empêcherait tout bonnement l'utilisation de spip. Parmi les fonctions menacées d'interdiction, deux cas où il me semble que le problème devrait pouvoir être évité :
-
ini_set() ; elle semble être utilisée partout avec l'opérateur arobase ("
ini_set") sauf à 2 endroits de la fonction spip_initialisation_suite() de ecrire/inc/utils.php :
if ($memory<_MEMORY_LIMIT_MIN10241024){ ini_set('memory_limit', $m = _MEMORY_LIMIT_MIN . 'M'); if (trim(ini_get('memory_limit'))!=$m){ if (!defined('_INTERDIRE_COMPACTE_HEAD_ECRIRE')) define('_INTERDIRE_COMPACTE_HEAD_ECRIRE', true); // evite une page blanche car on ne saura pas calculer la css dans ce hit } } `
Pourrait-on y ajouter l'opérateur arobase ?
- php_uname() : utilisée uniquement par PclZipUtilTranslateWinPath() dans ecrire/inc/pclzip.php, pour tester si l'OS est Windows (et dans ce cas changer les \ d'un chemin en /). Ne pourrait-on pas, à la place, faire le test à partir de la constante DIRECTORY_SEPARATOR, ou bien d'une variable pré-définie comme $_SERVER['SERVER_SOFTWARE'] ou $_SERVER["HTTP_USER_AGENT"] ?