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 $rest un array
- array : Liste( liste des codes PHP, liste des substitutions )