Désactivation module $_SERVER['SERVER_SOFTWARE']

Désactivation module $_SERVER['SERVER_SOFTWARE']

par Frédéric PEREZ,
Nombre de réponses : 2

Bonjour,

Lors de la migration vers un autre serveur par notre hébergeur, nous nous sommes trouvé bloqué sans comprendre pourquoi Moodle ne reconnaissait pas le serveur ou ne le considérait pas comme compatible. 

Après recherche, notre fournisseur a désactivé le module php $_SERVER['SERVER_SOFTWARE'].

Tout fonctionne correctement pour l'instant, mais existe t'il une solution dans Moodle (ou une mise à jour où Moodle est moins "curieux") pour éliminer la demande que l'hébergeur considère comme une faille de sécurité potentielle (demande du logiciel et version du serveur web faisant tourner Moodle).

Merci d'avance si vous avez une solution, sinon, on retournera y régulièrement a chaque blocage...

Comme vous l'avez surement compris, même si on se débrouille, aucun de nous n'est informaticien expérimenté...

Frédéric.


Moodle 3.5.3+ / php 7.0.33

Moyenne des évaluations  -
En réponse à Frédéric PEREZ

Re: Désactivation module $_SERVER['SERVER_SOFTWARE']

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonsoir,

Est-ce que vous avez eu la même erreur (ou similaire, i.e. le texte entre parenthèses est différent) que celle décrite dans cette discussion ? (merci de confirmer)

Si c'est le cas, alors le problème n'est pas avec Moodle. Il est en revanche à craindre que votre hébergeur a de façon "curieuse" compilé son serveur web de sorte qu'il renvoie une identification autre que celle définie de façon standard, comme "apache" ou "nginx", par exemple. Moodle ne peut alors pas reconnaître de quel type de serveur il s'agit. Cette détection est bien entendu nécessaire pour le bon fonctionnement de Moodle, et n'est en aucun cas reconnue comme une faille de sécurité, puisque Moodle n'expose jamais cette info, et que j'imagine que vous faites confiance au code source de Moodle, sinon vous ne l'installeriez pas sourire

Si votre hébergeur ne veut pas changer ses pratiques curieuses, vous pouvez simplement et sans toucher le code source de Moodle définir adéquatement la variable en question dans le fichier config.php de votre installation, en ajoutant les lignes suivantes dans ce fichier (après vous être assuré du type de serveur qui tourne effectivement sur votre hébergement, dans l'exemple ci-dessous Apache). Cela vous évitera de bidouiller le code à chaque mise à jour :

global $_SERVER;
$_SERVER['SERVER_SOFTWARE'] = 'Apache';

avant la ligne suivante:

require_once(dirname(__FILE__) . '/lib/setup.php');
Nicolas
Moyenne des évaluations Utile (3)
En réponse à Nicolas Martignoni

Re: Désactivation module $_SERVER['SERVER_SOFTWARE']

par Frédéric PEREZ,

Bonjour et merci pour l'information.

C'est en effet (globalement) la même erreur que dans le post en anglais. Désolé, je ne l'avais pas trouver dans mes recherches avant de poster ce message.

Après avoir recontacter l'hébergeur, il reconnait que sa configuration du mod.security apache est un peu trop restrictif et qu'il allaient affiner les réglages.

Transférant leurs serveurs dans un autre environnement, je vais leur laisser le bénéfice du doute et les laisser affiner.

Dans tous les cas, je garde la modification du config.php en tête dans le cas où cela se reproduise.

Merci encore et bonne fin de journée.