Documentation du code de SPIP et de ses plugins

SPIP

securiser_action.php

Gestion des actions sécurisées

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
uses
securiser_action_auteur()

Pour produire l'URL ou le formulaire

example

Tester une action reçue et obtenir son argument :

$securiser_action = charger_fonction('securiser_action');
$arg = $securiser_action();
used-by
generer_action_auteur()
Return values
array<string|int, mixed>|string

demander_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
bool

securiser_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
note

Attention: PHP applique urldecode sur $_GET mais pas sur $_POST cf http://fr.php.net/urldecode#48481

uses
calculer_action_auteur()
uses
generer_form_action()
used-by
inc_securiser_action_dist()

Pour produire l'URL ou le formulaire

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
string

calculer_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
used-by
securiser_action_auteur()
Return values
string

verifier_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
bool

secret_du_site()

Renvoyer le secret du site (le generer si il n'existe pas encore)

secret_du_site() : string
Tags
uses
SpipCles::secret_du_site()
Return values
string

verifier_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
bool

calculer_token_previsu()

Calculer le token de prévisu

calculer_token_previsu(string $url[, mixed $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 : mixed = null
$alea : string = 'alea_ephemere'

Nom de l’alea à utiliser

Tags
see
verifier_token_previsu()
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
see
calculer_token_previsu()
used-by
decrire_token_previsu()
Return values
false|array<string|int, mixed>
  • False si echec,
  • Tableau (id auteur, type d’objet, id_objet) sinon.

        
On this page

Search results