Mika A.

Blog Simple :)

Catégorie : Web Page 3 of 5

Sharepoint – Problèmes d’affichage sur le menu de navigation

J’ai rencontré un problème assez perturbant sur un des sites SharePoint de nos clients. Nous avions mis en place un menu de navigation géré dans la banque de termes.  Ce menu est constitué de 5 éléments.

Le problème est que l’affichage du menu n’était pas le même pour tous les utilisateurs. Pour les utilisateurs ayant une permission de lecture uniquement, certains éléments du menu ne s’affichaient pas. Cependant, si ces utilisateurs se rendaient directement sur l’URL, la page cible s’affiche bien car il n’y a aucune restriction dessus.

Après plusieurs heures de recherches, un ami m’a finalement dirigé sur une piste  depuis une discussion sur StackOverflow.  Le problème venait du fait que les éléments en question utilisaient l’option « Page pilotée par les termes avec une URL conviviale« .  Il semble alors que des permissions sont nécessaire pour utiliser cette option dans certains cas, empêchant ainsi l’accès de ces éléments de menu aux utilisateurs sans autorisation.

nav1

Pour corriger le problème, il a fallu utiliser l’option « Lien ou en-tête simple » et saisir l’URL de la page cible.

nav2

 

Cette solution permet de résoudre le problème mais le revers de la médaille c’est qu’il n’est pas possible d’utiliser les URL conviviales avec cette option :(.  En tout cas, les amis de http://sharepoint-community.net/ m’ont bien aidé cette fois ci!

 

 

Limiter la taille du fichier journal de log4php

Nous utilisons le module log4php sur plusieurs projets afin d’écrire les messages d’erreurs dans un fichier système au lieu de la base de données. Selon la configuration, le fichier journal peut se remplir plus ou moins vite. Après plus d’un ans d’utilisation sur un de nos projets, le fichier de log a atteint une taille de plus de 5Go, ce qui rempli inutilement le serveur et rend la lecture du fichier difficile.

Il est possible de limiter la taille des fichiers de logs et de garder quelques sauvegardes en effectuant les configurations suivantes dans le fichier log4php.xml :

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://logging.apache.org/log4php/">
 <appender name="file" class="LoggerAppenderFile">
 <layout class="LoggerLayoutSimple" />
 <param name="file" value="/var/www/example/logs/log4php.log" />
 <param name="append" value="true" />
 <param name="maxFileSize" value="8MB" />
 <param name="maxBackupIndex" value="5" />
 </appender>
 <root>
 <appender_ref ref="file" />
 </root>
</configuration>

Nous avons donc défini la taille maximale du fichier à 8Mb grâce au paramètre maxFileSize et nous gardons 5 sauvegardes sur le serveur en spécifiant maxBackupIndex. Ces fichiers seront alors nommé log4php.log.1, log4php.log.2, etc..

Restriction IP sur l’administration Drupal dans htaccess

Pour des raisons de sécurité, il est fréquent de limiter l’accès à l’administration d’un site depuis certaines adresses IP uniquement. Une manière simple d’effectuer cela est d’jouter la restriction dans le fichier .htaccess.

Pour le cas de Drupal, nous allons filtrer l’accès aux URL admin/* en ajoutant les lignes suivantes au début du fichier .htaccess :

 order allow,deny
 SetEnvIf Request_URI "^(?!/admin)" allow
 allow from env=allow
 allow from X.X.X.X
 allow from Y.Y.Y.Y
 allow from Z.Z.Z.Z

Voyons rapidement ce que signifie ces instructions :

 order allow,deny

Cette ligne indique l’ordre de traitement de la validation d’accès.

SetEnvIf Request_URI "^(?!/admin)" allow

Nous initialisons une variable allow quand l’url auquel accède l’utilisateur ne commence pas par admin. 

allow from env=allow

Quand la variable allow est définie, l’accès est autorisée.

 

allow from X.X.X.X

Enfin, nous listons les IP qui ont le droit d’accéder à l’administration.

Pour chaque page, Apache va donc vérifier si une des conditions d’accès allow from ci-dessus est satisfaite. Si aucune ne répond aux critère, Apache applique alors un deny  sur l’URL et la page affiche le message 403 Forbidden.

En résumé, cette solution est simple et permet d’assurer une sécurité supplémentaire sur l’accès à l’administration d’un site Drupal. Il y a plusieurs amélioration possibles cependant, comme l’utilisation d’une page 403 « stylée » ou l’affichage d’un message personnalisé.
Cette solution peut cependant ne pas convenir pour certains cas d’utilisation comme un administrateur « nomade » qui se déplace souvent par exemple. Ou dans le cas où un reverse proxy est utilisé sur le serveur.
Il existe également des modules Drupal qui permettent d’avoir un comportement similaire comme Restrict IP

Fièrement propulsé par WordPress & Thème par Anders Norén