Close
    Search Search

    Contexte de sécurité

    Contexte de sécurité

    Les scripts sur Roblox ont une identité de thread qui indique quel accès de sécurité ils ont à l'API de script. Certains membres de la classe dans l'API de script ne peuvent être utilisés que par des scripts disposant de l'autorisation requise.


    Contenu

    Identités

    Une identité de thread est une identité (un entier) donnée à un thread qui indique les autorisations dont il dispose.


    L'identité d'un thread peut être trouvée en utilisant la fonction printidentity. Cette fonction affichera l'identité du thread, préfixée par le dernier argument qui lui est donné s'il s'agit d'une chaîne ou d'un nombre, "(null)" sinon, et d'un espace. Si aucun argument ne lui est donné, il le préfixera par "L'identité actuelle est", suivi d'un espace.

    ExempleDans un script avec l'identité 2, printidentity() afficherait l'identité actuelle est 2 dans la sortie.

    L'identité d'un thread dépendra généralement de son origine. Par exemple, les threads exécutés en tant que plugins ont une identité de 6, les threads exécutant du code à partir de la barre de commandes ou de l'option "exécuter le script" ont une identité de 5, et les scripts et les scripts locaux ont généralement une identité de 2.[note 1]


    Identités
    Identité Détails
    0 Fils de discussion anonymes
    1 Actions initiées par l'utilisateur dans Roblox Studio
    2 Objets BaseScript dans n'importe quel DataModel
    3 Objets BaseScript dans n'importe quel DataModel, dans un endroit créé par Roblox
    4 Objets BaseScript dans n'importe quel DataModel, s'ils ont été créés par Roblox
    5 Barre de commandes Studio, "Exécuter le script", paramètre de ligne de commande -script
    6 Plugins Studio, API COM
    7 API de services Web
    8 Réception de données via la réplication

    Permission

    Chaque propriété, méthode, événement ou rappel dans l'API de script peut nécessiter une autorisation. Les autorisations existantes sont PluginSecurity, RobloxPlaceSecurity, LocalUserSecurity, WritePlayerSecurity, RobloxScriptSecurity, RobloxSecurity, TestLocalUserSecurity, ScriptWriteRestricted : [NotAccessibleSecurity] et ScriptWriteRestricted : [PluginSecurity]. Tous les threads ont accès aux membres qui ne nécessitent pas d'autorisation.


    Permission
    Autorisation Détails
    Aucun Toute identité peut accéder à cette fonctionnalité, y compris les scripts du jeu.
    Brancher Deuxième niveau d'accès le plus bas, juste au-dessus du script du jeu.
    RobloxPlace Lieux créés par Roblox, où les scripts sont plus fiables et les fonctionnalités préliminaires sont autorisées.
    Utilisateur local Autorisation non liée au jeu, généralement pour Roblox Studio.
    WritePlayer Autorisations pour changer le nom du joueur, l'ID utilisateur, etc.
    RobloxScript Un script, tel qu'un CoreScript, qui est exécuté dans un jeu.
    Roblox Niveau d'autorisation le plus élevé.
    TestUtilisateurLocal Dans les versions de test, cela équivaut à aucune autorisation, mais dans les versions normales, cela équivaut à LocalUser.

    Rôles

    Le tableau ci-dessous montre quelles autorisations sont associées à chaque identité.


    Rôles
    Identité Permission
    0 Aucun
    1 Plugin, RobloxPlace, LocalUser
    2 Aucun
    3 RobloxPlace
    4 Plugin, RobloxPlace, LocalUser, RobloxScript
    5 Plugin, RobloxPlace, LocalUser
    6 (construction en studio) Brancher
    6 (construit non-studio) Toutes les permissions
    7 Toutes les permissions
    8 RobloxPlace, WritePlayer, RobloxScript
    Rien d'autre Aucun, plus un échec d'assertion

    Machines virtuelles

    Les threads avec des identités différentes peuvent être exécutés avec différentes machines virtuelles Lua, afin que les scripts utilisateur ne soient pas mélangés avec des scripts créés par Roblox. Il n'y a actuellement que deux machines virtuelles, une pour les CoreScripts et les autres threads qui ont un accès RobloxScript et une autre pour tous les autres threads. Dans les versions de studio, il existe une troisième machine virtuelle utilisée pour les plugins de studio.



    Restrictions supplémentaires

    Si la propriété RobloxLocked d'un objet est vraie, seuls les scripts avec l'autorisation Plugin pourront indexer les signaux et les enfants de l'objet, définir ses propriétés ou affecter ses rappels, appeler les fonctions de production de l'objet, changer le parent des enfants de l'objet , ou créez des objets avec l'objet comme parent en utilisant Instance.new(class, parent). De plus, les scripts qui n'ont pas cette autorisation ne pourront pas appeler les fonctions non cédantes de l'objet à moins qu'il ne soit un descendant de CoreGui. Cette propriété est utilisée, entre autres, pour les objets GUI créés par CoreScripts.

    Voir également

    • Liste des membres par titre

    Notes

    1. Ils peuvent avoir un identifiant de 3 lorsqu'ils sont exécutés dans un jeu créé par Roblox et un identifiant de 4 lorsqu'ils sont ajoutés à la liste blanche par Roblox.
    ajouter un commentaire de Contexte de sécurité
    Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.