Bac à sable de script

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Le bac à sable de script est un environnement à droits restreints dans lequel les scripts générés par le client s’exécutent lorsqu’ils sont mis à la disposition du bac à sable de script.

    Le bac à sable de script permet d’empêcher les utilisateurs non autorisés ou non authentifiés d’exécuter un script privilégié sur votre instance. Il existe deux cas qui permettent au client d’envoyer des scripts au serveur pour évaluation (scripts générés par le client).

    • Filtres ou requêtes : Il est légal d’envoyer un filtre au serveur tel que : assigned_to=javascript :getMyGroups().
    • API système : L’appel d’API AJAXEvaluate permet au client d’exécuter des scripts arbitraires sur le serveur et de recevoir une réponse.
    Le script évalué via l’un de ces deux points d’entrée s’exécute dans un bac à sable à droits réduits présentant les caractéristiques suivantes :
    • Seules les règles métier marquées comme Client joignable sont disponibles dans le bac à sable.
    • Seuls les includes de script marqués comme étant le bac à sable activé sont disponibles dans le bac à sable.
    • Certains appels API (en grande partie, mais pas entièrement, à ceux traitant de l’accès direct à la base de données) ne sont pas autorisés.
    • Les données ne peuvent pas être insérées, mises à jour ou supprimées à partir du bac à sable. Tous les appels à current.update(), par exemple, sont ignorés.
    Remarque :
    À partir de la version, les Xanadu includes de script marqués comme Glide AJAX activé (précédemment appelés Client pouvant être appelé) ne sont pas accessibles dans le bac à sable. Seuls ceux marqués comme bac à sable activé sont disponibles dans le bac à sable. Lors de la mise à niveau vers la version à partir de la Washington DC version ou d’une Zurich version antérieure, tous les includes de script marqués comme Client pouvant être appelé sont également marqués comme Bac à sable activé.

    Méthodes restreintes avec le bac à sable de script

    Ces méthodes ne sont pas prises en charge dans les scripts générés par le client dans le bac à sable de script.

    Remarque :
    Les méthodes GlideSystem (gs) log(), logError() et logWarning() peuvent être activées avec le sandboxing de script en définissant la glide.security.sandbox_no_logging propriété système sur false.
    Tableau 1. Méthodes restreintes
    Classe Fonction de message REST
    GlideRecord
    • deleteMultiple()
    • deleteRecord()
    • getRowCount()
    • insérer()
    • mettre à jour()
    • updateMultiple()
    GlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • eventQueue()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • journal ()
    • logError()
    • logWarning()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflow Flush()
    Champ d’application GlideRecord
    • deleteMultiple()
    • deleteRecord()
    • insérer()
    • mettre à jour()
    • updateMultiple()
    ScopedGlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • debug()
    • eventQueue()
    • exécuter maintenant()
    • getProperty()
    • getSessionToken()
    • info()
    • setRedirect()
    Date GlideDate

    GlideDateTime

    Délai GlideTime

    • ajouter()
    • addDays()
    • addDaysLocalTime()
    • addDaysUTC()
    • addMonthsLocalTime()
    • addMonths()
    • addSeconds()
    • addWeeks()
    • addYears()
    • compareTo()
    • getByFormat()
    • getDate()
    • getDayOfWeek()
    • getDayOfWeekUTC
    • getDayOfWeekLocalTime()
    • getDayOfMonth()
    • getDayOfMonthLocalTime()
    • getDayOfMonthNoTZ()
    • getDayOfWeek()
    • getDayOfWeekLocalTime()
    • getDayOfWeekUTC()
    • getHourOfDayLocalTime()
    • getHourOfDayUTC()
    • getDaysInMonth()
    • getDaysInMonthUTC()
    • getDaysInMonthLocalTime()
    • getDisplayValueInternal()
    • getDisplayValue()
    • getHourLocalTime()
    • getLocalDate()
    • getLocalTime()
    • getMinutesLocalTime()
    • getMinutesUTC()
    • getMonthLocalTime()
    • getMonthNoTZ()
    • getMonthUTC()
    • getNumericValue()
    • getSeconds()
    • getTime()
    • getTZOffset()
    • getValue()
    • getYear()
    • getUserTimeZone()
    • getWeekOfYearLocalTime()
    • getWeekOfYearUTC()
    • getYearUTC()
    • getYearLocalTime()
    • isDST()
    • onOrAfter()
    • onOrBefore()
    • setDayOfMonthUTC()
    • setDisplayValue()
    • setMonth()
    • setNumericValue()
    • setTZ()
    • setValue()
    • setValueUTC()
    • soustraire()
    • toString()
    Calendrier GlideSchedule
    • ajouter()
    • isInSchedule()
    • Charger()
    • whenNext()