[spip-dev] Lever localement la sécurité...

Salut tout le monde,

Suite au message demandant comment mettre du javascript "qui marche" dans ses articles, mais aussi pourquoi pas du PHP, voici un truc qui pourra vous intéresser... J'ai pas testé, mais ça devrait fonctionner... (Je préfère pas balancer ça sur la liste SPIP, vu que c'est un poil technique, et potentiellement dangereux quand on ne sait pas faire...)

D'abord il y a la fonction "supprimer_la_securite" de Fil:

Salut Fil,

Je préfère pas donner l'ex

Dans mes_fonctions.php3, tu crÈes donc

<?

    function supprimer_la_securite($texte) {
        return ereg_replace ("&lt;script ","<script ",$texte);
    }

?>

Si vous voulez que ça concerne aussi le PHP, vous pouvez ajouter les ereg_replace qui vont bien, pour <? et compagnie.

Maintenant, notamment avec la version 1.4, créez un mot-clé intitulé "lever_securite", dans un groupe dont l'accès est réservé aux admins.

Dans votre squelette d'articles, vous remplacez la mention #TEXTE par une boucle de contrôle supplémentaire:

<BOUCLE_controle_securite(ARTICLES){id_article}{mot_cle=lever_securite}>
      [(#TEXTE|supprimer_la_securite)]
</BOUCLE_controle_securite>
      #TEXTE
<//B_controle_securite>

De cette façon, seul l'admin peut décider de lever la sécurité sur le texte d'un article, en lui attribuant le mot-clé "lever_securite". Cette levée de la sécurité ne fonctionne que sur le site public, donc pas de problème en espace privé.

A réserver évidemment aux webmestres qui savent lire le PHP et qui peuvent prendre la décision de lever la sécurité sur les bouts de code publiés...

Amicalement,
ARNO*

Eh les patates :wink:

><?
>
> function supprimer_la_securite($texte) {
> return ereg_replace ("&lt;script ","<script ",$texte);
> }
>
>?>

Si vous voulez que ça concerne aussi le PHP, vous pouvez ajouter les
ereg_replace qui vont bien, pour <? et compagnie.

Vous saviez pas qu'on pouvait appeler PHP avec <script language="php"> ??