Documentation du code de SPIP et de ses plugins

SPIP

Authentification

Table of Contents

Packages

Ldap
SPIP

Functions

action_auth_dist()  : mixed
Retour d'authentification pour les SSO
action_logout_dist()  : mixed
Se déloger
generer_jeton_logout()  : string
Generer un jeton de logout personnel et ephemere
verifier_jeton_logout()  : bool
Verifier que le jeton de logout est bon
creer_pass_aleatoire()  : string
Créer un mot de passe
creer_uniqid()  : string
Créer un identifiant aléatoire
charger_aleas()  : string
Charge les aléas ehpémères s'il ne sont pas encore dans la globale
renouvelle_alea()  : mixed
Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)
low_sec()  : string
Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué
securiser_acces_low_sec()  : bool
Vérifie un accès à faible sécurité
generer_url_api_low_sec()  : string
Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args
afficher_low_sec()  : string
Retourne une clé basée sur le low_sec de l'auteur et l'action demandé
verifier_low_sec()  : bool
Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé
effacer_low_sec()  : mixed
Efface la clé de sécurité faible (low_sec) d'un auteur
ecrire_acces()  : null|void
Créer un fichier htpasswd
generer_htpasswd_files()  : mixed
Generer le fichier de htpasswd contenant les htpass
generer_htpass()  : void|string
Créer un password htaccess
verifier_htaccess()  : bool
Installe ou vérifie un fichier .htaccess, y compris sa prise en compte par Apache
gerer_htaccess()  : string
Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande
inc_auth_dist()  : array<string|int, mixed>|int|string
Teste l'authentification d'un visiteur
auth_controler_password_auteur_connecte()  : bool
Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté
auth_echec()  : array<string|int, mixed>|string
fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.
auth_mode()  : array<string|int, mixed>|bool|string
Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login
auth_init_droits()  : array<string|int, mixed>|string|bool
Initialisation des globales pour tout l'espace privé si visiteur connu
auth_desensibiliser_session()  : array<string|int, mixed>
Enlever les clés sensibles d'une ligne auteur
auth_a_loger()  : string
Retourne l'url de connexion
auth_trace()  : mixed
Tracer en base la date de dernière connexion de l'auteur
auth_administrer()  : mixed
Fonction privée d'aiguillage des fonctions d'authentification
auth_formulaire_login()  : array<string|int, mixed>
Pipeline pour inserer du contenu dans le formulaire de login
auth_retrouver_login()  : string
Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification
auth_informer_login()  : array<string|int, mixed>
informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?
auth_identifier_login()  : mixed
Essayer les differentes sources d'authenfication dans l'ordre specifie.
auth_url_retour_login()  : string
Fournir une url de retour apres login par un SSO pour finir l'authentification
auth_terminer_identifier_login()  : mixed
Terminer l'action d'authentification d'un auteur
auth_loger()  : bool
Loger un auteur suite a son identification
auth_deloger()  : mixed
Déconnexion de l'auteur
auth_autoriser_modifier_login()  : bool
Tester la possibilité de modifier le login d'authentification pour la méthode donnée
auth_verifier_login()  : string
Verifier la validite d'un nouveau login pour modification pour la methode donnee
auth_modifier_login()  : bool
Modifier le login d'un auteur pour la methode donnee
auth_autoriser_modifier_pass()  : bool
Tester la possibilité de modifier le pass pour la méthode donnée
auth_verifier_pass()  : string
Verifier la validite d'un pass propose pour modification pour la methode donnee
auth_modifier_pass()  : bool
Modifier le mot de passe d'un auteur pour la methode donnee
auth_synchroniser_distant()  : void
Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur
lire_php_auth()  : array<string|int, mixed>|bool
Vérifier si l'auteur est bien authentifié
ask_php_auth()  : mixed
entête php_auth (est-encore utilisé ?)

Functions

action_auth_dist()

Retour d'authentification pour les SSO

action_auth_dist() : mixed

action_logout_dist()

Se déloger

action_logout_dist() : mixed

Pour éviter les CSRF on passe par une étape de confirmation si pas de jeton fourni avec un autosubmit js pour ne pas compliquer l'expérience utilisateur

Déconnecte l'utilisateur en cours et le redirige sur l'URL indiquée par l'argument de l'action sécurisée, et sinon sur la page d'accueil de l'espace public.

generer_jeton_logout()

Generer un jeton de logout personnel et ephemere

generer_jeton_logout(array<string|int, mixed> $session[, null|string $alea = null ]) : string
Parameters
$session : array<string|int, mixed>
$alea : null|string = null
Return values
string

verifier_jeton_logout()

Verifier que le jeton de logout est bon

verifier_jeton_logout(string $jeton, array<string|int, mixed> $session) : bool

Il faut verifier avec alea_ephemere_ancien si pas bon avec alea_ephemere pour gerer le cas de la rotation d'alea

Parameters
$jeton : string
$session : array<string|int, mixed>
Return values
bool

creer_pass_aleatoire()

Créer un mot de passe

creer_pass_aleatoire([int $longueur = 16 ][, string $sel = '' ]) : string
Parameters
$longueur : int = 16

Longueur du password créé

$sel : string = ''

Clé pour un salage supplémentaire

Return values
string

Mot de passe

creer_uniqid()

Créer un identifiant aléatoire

creer_uniqid() : string
Return values
string

Identifiant

charger_aleas()

Charge les aléas ehpémères s'il ne sont pas encore dans la globale

charger_aleas() : string

Si les métas 'alea_ephemere' et 'alea_ephemere_ancien' se sont pas encore chargées en méta (car elles ne sont pas stockées, pour sécurité, dans le fichier cache des métas), alors on les récupère en base. Et on les ajoute à nos métas globales.

Tags
see
touch_meta()
Return values
string

Retourne l'alea éphemère actuel au passage

renouvelle_alea()

Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)

renouvelle_alea() : mixed

low_sec()

Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué

low_sec(int $id_auteur) : string

low-security est un ensemble de fonctions pour gérer de l'identification faible via les URLs (suivi RSS, iCal...)

Retourne la clé de sécurité low_sec de l'auteur (la génère si elle n'exite pas) ou la clé de sécurité low_sec du site (si auteur invalide)(la génère si elle n'existe pas).

Parameters
$id_auteur : int

Identifiant de l'auteur

Return values
string

Clé de sécurité.

securiser_acces_low_sec()

Vérifie un accès à faible sécurité

securiser_acces_low_sec(int $id_auteur, string $cle, string $dir[, string $op = '' ][, string $args = '' ]) : bool

Vérifie qu'un visiteur peut accéder à la page demandée, qui est protégée par une clé, calculée à partir du low_sec de l'auteur, et des paramètres le composant l'appel (op, args)

Parameters
$id_auteur : int

L'auteur qui demande la page

$cle : string

La clé à tester

$dir : string

Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')

$op : string = ''

Nom de l'opération éventuelle

$args : string = ''

Nom de l'argument calculé

Tags
see
generer_url_api_low_sec()

pour generer une url api low sec

see
afficher_low_sec()

pour calculer une clé valide

uses
verifier_low_sec()
filtre
Return values
bool

True si on a le droit d'accès, false sinon. *@example [(#ID_AUTEUR|securiser_acces{#ENV{cle}, rss, #ENV{op}, #ENV{args}}|sinon_interdire_acces)]

generer_url_api_low_sec()

Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args

generer_url_api_low_sec(string $script, string $format, string $fond, string $path, string $args[, bool $no_entities = false ][, bool|null $public = null ]) : string
Parameters
$script : string
$format : string
$fond : string
$path : string
$args : string
$no_entities : bool = false
$public : bool|null = null
Return values
string

afficher_low_sec()

Retourne une clé basée sur le low_sec de l'auteur et l'action demandé

afficher_low_sec(int $id_auteur[, string $action = '' ]) : string
Parameters
$id_auteur : int

Identifiant de l'auteur

$action : string = ''

Action désirée

Tags
uses
low_sec()
used-by
verifier_low_sec()
Return values
string

Clé

verifier_low_sec()

Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé

verifier_low_sec(int $id_auteur, string $cle[, string $action = '' ]) : bool
Parameters
$id_auteur : int

Identifiant de l'auteur

$cle : string

Clé à comparer

$action : string = ''

Action désirée

Tags
uses
afficher_low_sec()
used-by
securiser_acces_low_sec()
used-by
filtre_securiser_acces_dist()
Return values
bool

true si les clés corresponde, false sinon

effacer_low_sec()

Efface la clé de sécurité faible (low_sec) d'un auteur

effacer_low_sec(int $id_auteur) : mixed
Parameters
$id_auteur : int

Identifiant de l'auteur

ecrire_acces()

Créer un fichier htpasswd

ecrire_acces() : null|void

Cette fonction ne sert qu'à la connexion en mode http_auth.non LDAP. Voir le plugin «Accès Restreint»

S'appuie sur la meta creer_htpasswd pour savoir s'il faut créer le .htpasswd.

Return values
null|void
  • null si pas de htpasswd à créer, ou si LDAP
  • void sinon.

generer_htpasswd_files()

Generer le fichier de htpasswd contenant les htpass

generer_htpasswd_files(string $htpasswd, string $htpasswd_admin) : mixed
Parameters
$htpasswd : string
$htpasswd_admin : string

generer_htpass()

Créer un password htaccess

generer_htpass(string $pass) : void|string
Parameters
$pass : string

Le mot de passe

Tags
link

Documentation de crypt()

Return values
void|string

La chaîne hachée si fonction crypt présente, rien sinon.

gerer_htaccess()

Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande

gerer_htaccess() : string
Tags
note

La variable de configuration creer_htaccess peut être posée par un plugin tel acces_restreint.

uses
_DIR_IMG
uses
verifier_htaccess()
Return values
string

Valeur de la configuration creer_htaccess

inc_auth_dist()

Teste l'authentification d'un visiteur

inc_auth_dist() : array<string|int, mixed>|int|string

Cette fonction ne fait pas l'authentification en soit ; elle vérifie simplement qu'une personne est connectée ou non.

Tags
used-by
exec_install_dist()
Return values
array<string|int, mixed>|int|string
  • URL de connexion si on ne sait rien (pas de cookie, pas Auth_user);
  • un tableau si visiteur sans droit (tableau = sa ligne SQL)
  • code numerique d'erreur SQL
  • une chaîne vide si autorisation à pénétrer dans l'espace privé.

auth_controler_password_auteur_connecte()

Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté

auth_controler_password_auteur_connecte(string $password) : bool
Parameters
$password : string
Return values
bool

auth_echec()

fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.

auth_echec( $raison) : array<string|int, mixed>|string

Retourne un message a afficher ou redirige illico.

Parameters
$raison :
Return values
array<string|int, mixed>|string

auth_mode()

Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login

auth_mode() : array<string|int, mixed>|bool|string
Return values
array<string|int, mixed>|bool|string

auth_init_droits()

Initialisation des globales pour tout l'espace privé si visiteur connu

auth_init_droits(array<string|int, mixed> $row) : array<string|int, mixed>|string|bool

Le tableau global visiteur_session contient toutes les infos pertinentes et à jour (tandis que $visiteur_session peut avoir des valeurs un peu datées s'il est pris dans le fichier de session)

Les plus utiles sont aussi dans les variables simples ci-dessus si la globale est vide ce n'est pas un tableau, on la force pour empêcher un warning.

Parameters
$row : array<string|int, mixed>
Return values
array<string|int, mixed>|string|bool

auth_desensibiliser_session()

Enlever les clés sensibles d'une ligne auteur

auth_desensibiliser_session(array<string|int, mixed> $auteur) : array<string|int, mixed>
Parameters
$auteur : array<string|int, mixed>
Return values
array<string|int, mixed>

auth_a_loger()

Retourne l'url de connexion

auth_a_loger() : string
Return values
string

auth_trace()

Tracer en base la date de dernière connexion de l'auteur

auth_trace(array<string|int, mixed> $row[, null|string $date = null ]) : mixed
Parameters
$row : array<string|int, mixed>
$date : null|string = null
Tags
pipeline_appel

trig_auth_trace

auth_administrer()

Fonction privée d'aiguillage des fonctions d'authentification

auth_administrer(string $fonction, array<string|int, mixed> $args[, mixed $defaut = false ]) : mixed

Charge une fonction d'authentification présente dans un répertoire auth/. Ainsi, utiliser auth_administrer('informer_login', array('spip', ...) appellera auth_spip_informer_login() de ecrire/auth/spip.php.

Parameters
$fonction : string

Nom de la fonction d'authentification

$args : array<string|int, mixed>

Le premier élément du tableau doit être le nom du système d'authentification choisi, tel que spip (par défaut) ou encore ldap.

$defaut : mixed = false
Tags
uses
charger_fonction()
used-by
auth_terminer_identifier_login()
used-by
auth_autoriser_modifier_login()
used-by
auth_autoriser_modifier_pass()

auth_formulaire_login()

Pipeline pour inserer du contenu dans le formulaire de login

auth_formulaire_login(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

auth_retrouver_login()

Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification

auth_retrouver_login(string $login[, string $serveur = '' ]) : string
Parameters
$login : string
$serveur : string = ''
Return values
string

auth_informer_login()

informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?

auth_informer_login(string $login[, string $serveur = '' ]) : array<string|int, mixed>
Parameters
$login : string
$serveur : string = ''
Return values
array<string|int, mixed>

auth_identifier_login()

Essayer les differentes sources d'authenfication dans l'ordre specifie.

auth_identifier_login(string $login, string $password[, string $serveur = '' ][, bool $phpauth = false ]) : mixed

S'en souvenir dans visiteur_session['auth']

Parameters
$login : string
$password : string
$serveur : string = ''
$phpauth : bool = false

auth_url_retour_login()

Fournir une url de retour apres login par un SSO pour finir l'authentification

auth_url_retour_login(string $auth_methode, string $login[, string $redirect = '' ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$login : string
$redirect : string = ''
$serveur : string = ''
Return values
string

auth_terminer_identifier_login()

Terminer l'action d'authentification d'un auteur

auth_terminer_identifier_login(string $auth_methode, string $login[, string $serveur = '' ]) : mixed
Parameters
$auth_methode : string
$login : string
$serveur : string = ''
Tags
uses
auth_administrer()

auth_loger()

Loger un auteur suite a son identification

auth_loger(array<string|int, mixed> $auteur) : bool
Parameters
$auteur : array<string|int, mixed>
Return values
bool

auth_autoriser_modifier_login()

Tester la possibilité de modifier le login d'authentification pour la méthode donnée

auth_autoriser_modifier_login(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$serveur : string = ''
Tags
uses
auth_administrer()
Return values
bool

auth_verifier_login()

Verifier la validite d'un nouveau login pour modification pour la methode donnee

auth_verifier_login(string $auth_methode, string $new_login[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$new_login : string
$id_auteur : int = 0
$serveur : string = ''
Return values
string

message d'erreur ou chaine vide si pas d'erreur

auth_modifier_login()

Modifier le login d'un auteur pour la methode donnee

auth_modifier_login(string $auth_methode, string $new_login, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$new_login : string
$id_auteur : int
$serveur : string = ''
Return values
bool

auth_autoriser_modifier_pass()

Tester la possibilité de modifier le pass pour la méthode donnée

auth_autoriser_modifier_pass(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$serveur : string = ''
Tags
uses
auth_administrer()
Return values
bool

succès ou échec

auth_verifier_pass()

Verifier la validite d'un pass propose pour modification pour la methode donnee

auth_verifier_pass(string $auth_methode, string $login, string $new_pass[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$login : string
$new_pass : string
$id_auteur : int = 0
$serveur : string = ''
Return values
string

message d'erreur ou chaine vide si pas d'erreur

auth_modifier_pass()

Modifier le mot de passe d'un auteur pour la methode donnee

auth_modifier_pass(string $auth_methode, string $login, string $new_pass, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$login : string
$new_pass : string
$id_auteur : int
$serveur : string = ''
Return values
bool

succes ou echec

auth_synchroniser_distant()

Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur

auth_synchroniser_distant([string|bool $auth_methode = true ][, int $id_auteur = 0 ][, array<string|int, mixed> $champs = [] ][, array<string|int, mixed> $options = [] ][, string $serveur = '' ]) : void
Parameters
$auth_methode : string|bool = true

ici true permet de forcer la synchronisation de tous les acces pour toutes les methodes

$id_auteur : int = 0
$champs : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
$serveur : string = ''
Tags
used-by
base_upgrade_dist()

lire_php_auth()

Vérifier si l'auteur est bien authentifié

lire_php_auth(string $login, string $pw[, string $serveur = '' ]) : array<string|int, mixed>|bool
Parameters
$login : string
$pw : string
$serveur : string = ''
Return values
array<string|int, mixed>|bool

ask_php_auth()

entête php_auth (est-encore utilisé ?)

ask_php_auth(string $pb, string $raison[, string $retour = '' ][, string $url = '' ][, string $re = '' ][, string $lien = '' ]) : mixed
Parameters
$pb : string
$raison : string
$retour : string = ''
$url : string = ''
$re : string = ''
$lien : string = ''
Tags
uses
minipres()

        
On this page

Search results