Imprimer RebZone
Win32 Linux Mac
Rebol
(c) 2025 RebolZone - http://rebolzone.free.fr
[ Général ]
Accueil
FTP
[ Rebol ]
Présentation
Installation
Rebol/View
Rebsites
[ Coding ]
Coding Tutorial Start
Outils MySql VID FAQ
Syntaxe Download
[ Divers ]
Documentation
Liens Recherche
Ecrivez-nous
Visiteurs
Visteurs
Lundi 26 mai 2025

Tutorial

Valid XHTML 1.0!
La sécurité

Précédent ...
Suivant ...

La sécurité
Rebol intègre un gestionnaire de sécurité qui gère les accès aux fichiers et dossiers, ainsi que les accès réseaux.
On peut activer ou désactiver cette gestion de sécurité de 2 manières, soit dans le script Rebol, soit par les options de la ligne de commande.
Soit le script suivant (testsecu.r), qui liste les fichiers du répertoire parent :
    Rebol 
    [ 
    Sujet: "Test sécurité"
    Auteur: "RebolZone"
    Version: 1.0.0
    ]
    ; Lecture du répertoire parent
    print read %..
    input
	

Si on exécute ce script à la ligne de commande, rebol testsecu.r, le gestionnaire de sécurité demandera la permission pour accéder au répertoire parent.
En revanche, en utilisant l'option -s, rebol -s testsecu.r, le script s'exécutera SANS demande de confirmation.

Remarques :
Il convient d'être très prudent avec les notions de sécurité dans le cas d'une application multi-utilisateurs (Web, Intranet ...).
Une faille de sécurité peut mettre en péril tout un système d'informations.


Rebol met à disposition un dialecte permettant de gérer la sécurité, nottemment par la fonction secure.
2 mots clé net et file indique sur quoi va porter la sécurité, on peut également préciser un fichier ou dossier particulier.

On précise ensuite le niveau de sécurité :

Niveau Commentaires
allow Tout accès est autorisé
ask Une demande de permission sera formulée
quit En cas d'accès, le script s'arrête
throw En cas d'accès, le script continue


On peut préciser le niveau d'accès :

Niveau Commentaires
read Lecture
write Ecriture, suppression ...
all Tout accès


Exemples :

Dans l'exemple ci-dessous, on positionne la sécurité minimum pour les fichiers, on lit 2 fois le répertoire parent, puis on force la sécurité à demander.

    Rebol 
    [ 
    ]
    secure [file allow]
    print read %..
    print read %..

    secure [file ask]
    print read %..
   input      
  

Autre exemple, où l'on va interdire l'accès aux fichiers et répertoires :
    Rebol 
    [ 
    ]
    ; Mise à jour de la sécurité pour les fichiers, pas d'accè s
    secure [file quit]
    print read %..     ; ERREUR et fin de script
    input
  
Le résultat de cet exemple sera : REBOL - Security Violation ** Press enter to quit...
Aucun accès n'est autorisé.

On peut donner l'accès à un répertoire particulier, dans l'exemple ci-dessous, on pourra lire et écrire dans le répertoire /c/tmp uniquement :
    Rebol 
    [ 
    ]
    ; Mise à jour de la sécurité pour les fichiers, pas d'accè s sauf pour /c/tmp
    secure [
        file quit
        %/c/tmp/ allow
    ]
    print read %/c/tmp/  ; Ok pas d'erreur
    print read %..       ; ERREUR et fin de script
    input
  
Pour ne donner que l'accès en lecture au dossier /c/tmp :
    Rebol 
    [ 
    ]
    secure [
    file quit
    %/c/tmp/ [allow read]
	]
    print read %/c/tmp/                   ; OK lecture possible

    write %/c/tmp/res.log "Ecriture OK"   ; Impossible ERREUR et fin de script
  

Cette configuration du niveau de sécurité peut être réalisée au niveau de la ligne de commande Rebol avec l'option --secure.
Retour début de page