Table of Contents

Fonctions étendues

Présentation

En écrivant des règles et en-têtes, on peut utiliser des expressions Perl qui seront évaluées dans une cage pour prévenir les codes malveillants.

C'est disponible pour :

Dans cette cage, on peut accéder aux éléments suivants :

Pour en savoir plus sur la cage, consulter la documentation du module Safe.

Request information

Les données suivantes concernant la requête courante sont disponibles via les fonctions :

Liste des fonctions étendues

date

Retourne la date au format AAAAMMJJHHMMSS, heure locale par défaut, GMT si demandé

date(1)

checkLogonHours

Cette fonction examine le jour et l'heure de la requête courante et la compare aux jours et heures autorisés. Elle retourne 1 si c'est bon, 0 sinon. Par défaut, les jours et heures autorisés sont des valeurs hexadécimales, représentant chaque heure de la semaine. Un jour a 24 heures et une semaine 7 jours, donc la valeur contient 168 bits, convertie en 42 caractères hexadécimaux. Dimanche est le premier jour.

Par exemple, pour un accès total excepté le week-end:

000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
L'extension de schéma LDAP peut être utilisée pour stocker cette valeur. La valeur binaire de l'attribut logonHours d'Active Directory peut également être utilisée

Paramètres de la fonction :

Exemple d'usage simple :

checkLogonHours($ssoLogonHours)

Si une valeur binaire est utilisée (Active Directory) :

All e
checkLogonHours($ssoLogonHours, 'octetstring')

On peut aussi configurer jetlag (si tous les utilisateurs utilisent le même fuseau):

checkLogonHours($ssoLogonHours, '', '+2')

Si plusieurs fuseaux sont utilisés, le jetlag doit être introduit dans le compte dans la valeur ssoLogonHours, ou utiliser le paramètre $_timezone. Ce paramètre est géré par le portail et utilise javascript pour obtenir le fuseau de l'utilisateur connecté. Ça doit marcher avec tous les navigateurs :

checkLogonHours($ssoLogonHours, '', $_timezone)

Il est possible de modifier le comportement par défaut pour les utilisateurs ne disposant pas d'une valeur ssoLogonHours. Sinon, par défaut, les utilisateurs sans créneau horaire de connexion sont rejetés. On peut autoriser ces utilisateurs au lieu de les rejeter :

checkLogonHours($ssoLogonHours, '', '', '1')

checkDate

Cette fonction examine la date de la requête en cours et la compare avec une date de début et de fin. Elle retourne 1 si c'est bon, 0 sinon.

L'extension de schéma LDAP peut être utilisée pour stocker ces valeurs.

Le format de date est celui de la syntaxe des dates LDAP, par exemple pour le 1er Mars 2009 :

20090301000000Z

Paramètres de la fonction :

Exemple d'usage simple :

checkDate($ssoStartDate, $ssoEndDate)

basic

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

Cette fonction contruit l'en-tête HTTP Authorization utiisée dans le schéma d'authentification basique HTTP. Elle force la conversion de UTF-8 en ISO-8859-1 du nom de compte et du mot-de-passe.

Paramètres de la fonction :

Exemple d'usage simple :

basic($uid,$_password)

unicode2iso

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

Cette fonction convertit une chaine UTF-8 en ISO-8859-1.

Paramètres de la fonction :

Exemple d'usage simple :

unicode2iso($nom)

iso2unicode

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

Cette fonction convertit une chaîne ISO-8859-1 en UTF-8.

Paramètres de la fonction :

Exemple d'usage simple :

iso2unicode($name)

groupMatch

this function allows one to parse the $hGroups variable to check if a value is present inside a group attribute.

Paramètres de la fonction :

Exemple d'usage simple :

groupMatch($hGroups, 'description', 'Service 1')

encrypt

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

This function uses the secret key of LLNG configuration to crypt a data. This can be used to anonymize identifier given to the protected application.

encrypt($_whatToTrace)