sandbox.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
- sandbox_composer_texte() : string
- Composer le code d'exécution d'un texte
- sandbox_composer_filtre() : string
- Composer le code d'exécution d'un filtre
- analyser_arguments_filtre() : ReflectionFunctionAbstract}
- Analyser les arguments d’un filtre
- sandbox_composer_interdire_scripts() : string
- Composer le code de sécurisation anti script
- sandbox_filtrer_squelette() : mixed|string
- Appliquer des filtres sur un squelette complet
- echapper_php_callback() : string|array<string|int, mixed>
- Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
Functions
sandbox_composer_texte()
Composer le code d'exécution d'un texte
sandbox_composer_texte(string $texte, Champ &$p) : string
En principe juste un echappement de guillemets sauf si on veut aussi echapper et interdire les scripts serveurs dans les squelettes
Parameters
- $texte : string
-
texte à composer
- $p : Champ
-
Balise qui appelle ce texte
Return values
string —texte
sandbox_composer_filtre()
Composer le code d'exécution d'un filtre
sandbox_composer_filtre(string $fonc, string $code, string $arglist, Champ &$p[, int $nb_arg_droite = 1000 ]) : string
Parameters
- $fonc : string
- $code : string
- $arglist : string
- $p : Champ
- $nb_arg_droite : int = 1000
-
nb d'arguments à droite du filtre dans le source spip |fff{a,b,c} Balise qui appelle ce filtre
Return values
stringanalyser_arguments_filtre()
Analyser les arguments d’un filtre
analyser_arguments_filtre(string $function) : ReflectionFunctionAbstract}
Notamment, la fonction contient elle un paramètre $Pile
en première position ?
Certains filtres demandent à recevoir le contexte du squelette,
par exemple le filtre |set
Parameters
- $function : string
-
Nom du filtre
Return values
ReflectionFunctionAbstract}sandbox_composer_interdire_scripts()
Composer le code de sécurisation anti script
sandbox_composer_interdire_scripts(string $code, Champ &$p) : string
Parameters
- $code : string
- $p : Champ
-
Balise sur laquelle s'applique le filtre
Return values
stringsandbox_filtrer_squelette()
Appliquer des filtres sur un squelette complet
sandbox_filtrer_squelette(array<string|int, mixed> $skel, string $corps, array<string|int, mixed> $filtres) : mixed|string
La fonction accèpte plusieurs tableaux de filtres à partir du 3ème argument qui seront appliqués dans l'ordre
Parameters
- $skel : array<string|int, mixed>
- $corps : string
- $filtres : array<string|int, mixed>
-
Tableau de filtres à appliquer.
Tags
Return values
mixed|stringechapper_php_callback()
Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
echapper_php_callback([array<string|int, mixed>|null $r = null ]) : string|array<string|int, mixed>
Rappeler la fonction sans paramètre pour obtenir les substitutions réalisées.
Parameters
- $r : array<string|int, mixed>|null = null
-
- array : ce sont les captures de la regex à échapper
- NULL : demande à dépiler tous les échappements réalisés
Tags
Return values
string|array<string|int, mixed> —- string : hash de substitution du code php lorsque
$r
est un array - array : Liste( liste des codes PHP, liste des substitutions )