4D v16

Filtrer les expressions contenues dans un document 4D Write Pro

Accueil

 
4D v16
Filtrer les expressions contenues dans un document 4D Write Pro

Filtrer les expressions contenues dans un document 4D Write Pro  


 

Les documents 4D Write Pro peuvent contenir des références à des expressions 4D dynamiques telles que des variables ou des champs, mais aussi des formules, des méthodes projet ou des commandes du langage. Ces références sont évaluées lorsque les documents sont affichés ou imprimés. Pour des raisons de sécurité, l'évaluation des expressions dynamiques doit être contrôlée par le développeur pour éviter qu'une expression inappropriée soit utilisée et génère des modifications inattendues ou des effets de bord dans la base de données. Ce principe prévient par exemple l'exécution de commandes telles que DELETE SELECTION ou de méthodes telles que "SupprimerClient".

Note : Les expressions peuvent être insérées à l'aide de la commande ST INSERT EXPRESSION ou par la modification des documents 4D Write Pro avec un éditeur HTML.

A partir de 4D v16, l'évaluation des commandes et méthodes projet de 4D insérées dans les documents 4D Write Pro est désormais sous le contrôle de l'option de filtrage de 4D, définie au niveau de la base de données. Cette option se trouve dans la page Sécurité de la boîte de dialogue des Propriétés de la base :

Par défaut, dans 4D, la valeur de cette option est Activé pour tous, ce qui signifie que les commandes et méthodes doivent être explicitement autorisées ; dans le cas contraire, des messages d'erreur sont retournés. Vous pouvez désactiver ce filtrage partiellement (pour le Super Utilisateur et l'Administrateur) ou pour tous les utilisateurs. Cette option est utilisée dans toute la base et contrôle toutes les évaluations de formule utilisateur. Pour plus d'informations sur cette option, veuillez vous référer au manuel Mode Développement.

Lorsque cette option est activée :

  • les utilisateurs peuvent appeler uniquement des commandes "compatibles" avec les formules. La liste des commandes compatibles est affichée dans la zone de droite de l'éditeur de Formule :
  • les utilisateurs ne peuvent exécuter aucune méthode projet. Les méthodes projet que vous souhaitez autoriser dans les documents 4D Write Pro doivent être explicitement déclarées en utilisant la commande SET ALLOWED METHODS.

Si une commande ou une méthode 4D "interdite" est trouvée durant l'évaluation d'une expression dans un document 4D Write Pro, la valeur est remplacée par "## Error # 48".

Exemple  

Vous insérez l'expression suivante dans votre document 4D Write Pro :

 ST INSERT EXPRESSION(*;"WriteProArea";"Gender")

Par défaut, si l'option de sécurité est cochée, la méthode Gender ne sera pas évaluée :

Si vous exécutez le code suivant :

 ARRAY TEXT(aTallow;1)
 aTallow{1}:="Gender"
 SET ALLOWED METHODS(aTallow)

La méthode Gender retournera une valeur :

Ce filtrage n'était pas activé pour les documents 4D Write Pro dans les versions précédentes. Si vos documents 4D Write Pro référençaient des méthodes 4D, elles ne seront plus évaluées correctement une fois les documents convertis en 4D v16 ou plus. Des messages "## Error # 48" seront affichés à la place.
Dans ce cas, vous devrez ajouter les méthodes dans la liste des méthodes autorisées en utilisant la commande SET ALLOWED METHODS.



Voir aussi  


 
PROPRIÉTÉS 

Produit : 4D
Thème : Filtrer les expressions contenues dans un document 4D Write Pro

 
HISTORIQUE 

New
Créé : 4D v16

 
UTILISATION DE L'ARTICLE

4D Write Pro ( 4D v16)