securiser_action.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- inc_securiser_action_dist() : array<string|int, mixed>|string
- Génère ou vérifie une action sécurisée
- demander_confirmation_avant_action() : bool
- Confirmer avant suppression si on arrive par un bouton action a appeler dans la fonction action avant toute action destructrice
- securiser_action_auteur() : array<string|int, mixed>|string
- Retourne une URL ou un formulaire sécurisés
- caracteriser_auteur() : array<string|int, mixed>
- Caracteriser un auteur : l'auteur loge si $id_auteur=null
- _action_auteur() : string
- Calcule une cle securisee pour une action et un auteur donnes utilisee pour generer des urls personelles pour executer une action qui modifie la base et verifier la legitimite de l'appel a l'action
- _action_get_alea() : string
- calculer_action_auteur() : string
- Calculer le hash qui signe une action pour un auteur
- verifier_action_auteur() : bool
- Verifier le hash de signature d'une action toujours exclusivement pour l'auteur en cours
- secret_du_site() : string
- Renvoyer le secret du site (le generer si il n'existe pas encore)
- calculer_cle_action() : string
- Calculer une signature valable pour une action et pour le site
- verifier_cle_action() : bool
- Verifier la cle de signature d'une action valable pour le site
- calculer_token_previsu() : string
- Calculer le token de prévisu
- verifier_token_previsu() : false|array<string|int, mixed>
- Vérifie un token de prévisu
- decrire_token_previsu() : bool|array<string|int, mixed>
- Décrire un token de prévisu en session
Functions
inc_securiser_action_dist()
Génère ou vérifie une action sécurisée
    
                    inc_securiser_action_dist([string $action = '' ][, string $arg = '' ][, string $redirect = '' ][, bool|int|string $mode = false ][, string|int $att = '' ][, bool $public = false ]) : array<string|int, mixed>|string
        Interface d'appel:
- au moins un argument: retourne une URL ou un formulaire securisés
- sans argument : vérifie la sécurité et retourne _request('arg'), ou exit.
Parameters
- $action : string = ''
- $arg : string = ''
- $redirect : string = ''
- $mode : bool|int|string = false
- 
                    - -1 : renvoyer action, arg et hash sous forme de array()
- true ou false : renvoyer une url, avec & (false) ou & (true)
- string : renvoyer un formulaire
 
- $att : string|int = ''
- 
                    id_auteur pour lequel generer l'action en mode url ou array() atributs du formulaire en mode formulaire 
- $public : bool = false
Tags
Return values
array<string|int, mixed>|stringdemander_confirmation_avant_action()
Confirmer avant suppression si on arrive par un bouton action a appeler dans la fonction action avant toute action destructrice
    
                    demander_confirmation_avant_action(string $titre, string $titre_bouton[, string|null $url_action = null ]) : bool
        demander_confirmation_avant_action("Supprimer l'article xxxx", "Oui je veux le supprimer");
L'action affiche le formulaire de demande de confirmation sans rendre la main au premier appel, si l'utilisateur clique, cela relance l'action avec un confirm et quand on repasse ici, la fonction ne fera rien et l'action se finira normalement
Parameters
- $titre : string
- $titre_bouton : string
- $url_action : string|null = null
Return values
boolsecuriser_action_auteur()
Retourne une URL ou un formulaire sécurisés
    
                    securiser_action_auteur(string $action, string $arg[, string $redirect = '' ][, bool|int|string $mode = false ][, string|int $att = '' ][, bool $public = false ]) : array<string|int, mixed>|string
    
        Parameters
- $action : string
- $arg : string
- $redirect : string = ''
- $mode : bool|int|string = false
- 
                    - -1 : renvoyer action, arg et hash sous forme de array()
- true ou false : renvoyer une url, avec & (false) ou & (true)
- string : renvoyer un formulaire
 
- $att : string|int = ''
- 
                    - id_auteur pour lequel générer l'action en mode URL ou array()
- atributs du formulaire en mode formulaire
 
- $public : bool = false
Tags
Return values
array<string|int, mixed>|string —- string URL, si $mode = true ou false,
- string code HTML du formulaire, si $mode texte,
- array Tableau (action=>x, arg=>x, hash=>x) si $mode=-1.
caracteriser_auteur()
Caracteriser un auteur : l'auteur loge si $id_auteur=null
    
                    caracteriser_auteur([int|null $id_auteur = null ]) : array<string|int, mixed>
    
        Parameters
- $id_auteur : int|null = null
Return values
array<string|int, mixed>_action_auteur()
Calcule une cle securisee pour une action et un auteur donnes utilisee pour generer des urls personelles pour executer une action qui modifie la base et verifier la legitimite de l'appel a l'action
    
                    _action_auteur(string $action, int $id_auteur, string|null $pass, string $alea) : string
    
        Parameters
- $action : string
- $id_auteur : int
- $pass : string|null
- $alea : string
Return values
string_action_get_alea()
    
                    _action_get_alea(string $alea) : string
    
        Parameters
- $alea : string
Return values
stringcalculer_action_auteur()
Calculer le hash qui signe une action pour un auteur
    
                    calculer_action_auteur(string $action[, int|null $id_auteur = null ]) : string
    
        Parameters
- $action : string
- $id_auteur : int|null = null
Tags
Return values
stringverifier_action_auteur()
Verifier le hash de signature d'une action toujours exclusivement pour l'auteur en cours
    
                    verifier_action_auteur(string $action, string $hash) : bool
    
        Parameters
- $action : string
- $hash : string
Return values
boolsecret_du_site()
Renvoyer le secret du site (le generer si il n'existe pas encore)
    
                    secret_du_site() : string
    
    
    
    Tags
Return values
stringcalculer_cle_action()
Calculer une signature valable pour une action et pour le site
    
                    calculer_cle_action(string $action) : string
    
        Parameters
- $action : string
Tags
Return values
stringverifier_cle_action()
Verifier la cle de signature d'une action valable pour le site
    
                    verifier_cle_action(string $action, string $cle) : bool
    
        Parameters
- $action : string
- $cle : string
Return values
boolcalculer_token_previsu()
Calculer le token de prévisu
    
                    calculer_token_previsu(string $url[, int|null $id_auteur = null ][, string $alea = 'alea_ephemere' ]) : string
        Il permettra de transmettre une URL publique d’un élément non encore publié, pour qu’une personne tierce le relise. Valable quelques temps.
Parameters
- $url : string
- 
                    Url à autoriser en prévisu 
- $id_auteur : int|null = null
- 
                    qui génère le token de prévisu. Null utilisera auteur courant. 
- $alea : string = 'alea_ephemere'
- 
                    Nom de l’alea à utiliser 
Tags
Return values
string —Token, de la forme "{id}*{hash}"
verifier_token_previsu()
Vérifie un token de prévisu
    
                    verifier_token_previsu(string $token) : false|array<string|int, mixed>
        Découpe le token pour avoir l’id_auteur, Retrouve à partir de l’url un objet/id_objet en cours de parcours Recrée un token pour l’auteur et l’objet trouvé et le compare au token.
Parameters
- $token : string
- 
                    Token, de la forme '{id}*{hash}' 
Tags
Return values
false|array<string|int, mixed> —- Falsesi echec,
- Tableau (id auteur, type d’objet, id_objet) sinon.
decrire_token_previsu()
Décrire un token de prévisu en session
    
                    decrire_token_previsu() : bool|array<string|int, mixed>