Restrictions des hébergeurs : ajouter opérateur @ à ini-set et remplacer php_uname #3428

Closed
opened 8 years ago by miros · 4 comments
miros commented 8 years ago

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"] ?
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_MIN*1024*1024){ 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"] ?
Owner

En regardant l'utilisation des fonctions ini_set et ini_get dans le core, c'est exact qu'il y a des appels avec arobase et des appels sans.
Y a-t-il une règle pour mettre arobase ou pas ?
Si non, il serait préférable d'avoir une seule façon d'appeler cette fonction avec ou sans l'arobase (a priori plutôt avec).

Quid ?
Statut changé à En cours

En regardant l'utilisation des fonctions ini_set et ini_get dans le core, c'est exact qu'il y a des appels avec arobase et des appels sans. Y a-t-il une règle pour mettre arobase ou pas ? Si non, il serait préférable d'avoir une seule façon d'appeler cette fonction avec ou sans l'arobase (a priori plutôt avec). Quid ? **Statut changé à En cours**
b_b commented 8 years ago
Owner

+1 envoie les ` tonton

+1 envoie les ` tonton
Owner

Appliqué par commit r22345.
Statut changé à Fermé

Appliqué par commit r22345. **Statut changé à Fermé**
b_b commented 7 years ago
Owner
There is no content yet.
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.