Chiffrer le script sans avoir besoin de table de donnéesPlusieurs scripts que j'ai créés pour les opérations ne sont associés à aucune table de données, mais s'appuient sur des boîtes de dialogue de saisie dans lesquelles l'utilisateur navigue vers les entrées nécessaires à l'exécution du script.
Pour améliorer la sécurité, j'ai commencé à réfléchir à chiffrer les scripts afin qu'ils ne puissent pas être modifiés - ou vus - dans le cas où des éléments propriétaires pourraient être impliqués. Je n'ai trouvé aucun moyen dans les forums ou dans le guide d'aide de chiffrer l'intégralité du script sans rien connaître d'une table de données.
Merci!
Automatisation et scriptsRe : Chiffrer le script sans avoir besoin de table de données - Statut modifié en : ArchivéMerci pour le suivi, @nathan-clark ! J'archiverai ce souhait puisqu'il a été résolu.
Re : Chiffrer un script sans avoir besoin d'une table de donnéesAinsi, lors de mes tests, il ne s'agissait que d'une seule ligne dans mon code :
pathMain = ConvertFilePath("");J'utilise ensuite cette variable pour inclure dynamiquement des fichiers à partir du bon emplacement :
include(pathMain||"/encryptIncludeTest1.jsl");
Ainsi, lorsque j'ai chiffré le fichier, je ne l'ai pas sauvegardé OU sauvegardé au bon endroit en oubliant que cela serait impératif pour que le chemin soit correctement créé afin que la variable puisse être utilisée et le fichier correctement inclus.
Merci à tout le monde ici, mais je dirais que cela est résolu (ou du moins ce problème spécifique) et je retire respectueusement mon souhait
(Je ne sais pas si c'est vraiment un problème, mais c'était un problème pour moi, pas pour JMP)
Re : Chiffrer un script sans avoir besoin d'une table de donnéesOk, je pense que j'ai quelque chose de nouveau...
Tout mon script contient quelques inclusions. Je suppose qu'un script chiffré ne peut pas inclure un script non chiffré ? Et pour inclure le script, j'aurais besoin de chiffrer ce script, mais de l'inclure un peu comme ceci :
JSL Encrypted( include( "chemin vers jsl chiffré à inclure" ) ); ... OU
JSL Encrypted( charger le fichier texte ( "chemin d'accès au jsl crypté à inclure) );
Je vais faire quelques tests pour voir si je peux faire fonctionner quelque chose comme ça... mais s'il y a une réponse plus claire, je la prendrai aussi
Re : Chiffrer un script sans avoir besoin d'une table de donnéesOui, @Jeff_Perkinson , ça marche... J'ai donc essayé de petits exemples de ce que je pensais être à l'origine du problème et les choses fonctionnent parfaitement bien. Je suis revenu à mon script complet et il échoue toujours lorsque je chiffre.
Je vais donc devoir digérer et dépanner davantage pour obtenir une petite version d'un script qui devrait échouer lors du cryptage (le script existant est entrelacé de couches de fonctions, donc je préfère ne pas envoyer tout cela si je ne le fais pas). devoir
)
Merci pour votre aide à tous, j'enverrai bientôt un exemple !
Re : Chiffrer un script sans avoir besoin d'une table de donnéesMerci pour la référence. Cependant, je n'ai aucune idée de ce que cela signifie ou à quoi cela fait référence. Voici un petit script que vous pouvez chiffrer et exécuter pour voir qu'il fonctionne. Si vous pouvez trouver un exemple qui ne fonctionne pas, veuillez le publier ici.
dt = Open();
New Window( "My Window",
Text Box( "The file is" || (dt << get name) )
);
Re : Chiffrer un script sans avoir besoin d'une table de donnéesEspérons que l'extrait ci-dessous provienne des informations sur le cryptage des scripts.
L'ensemble "vous devez savoir sur quelle table de données le script s'exécute avant d'exécuter un script chiffré" est le problème.
Par exemple, dans mes scripts les plus courants, lorsque vous cliquez sur Exécuter (via le bouton Exécuter ou un complément), une boîte de dialogue modale apparaît et l'utilisateur remplit les entrées (généralement en naviguant vers différents emplacements de fichiers). En cliquant sur OK, les variables sont rassemblées et le reste du script continue. Il n'y a littéralement aucun moyen de savoir "sur quelle table de données le script s'exécute"
Je m'attendrais à ce que le simple fait de chiffrer ce script me permette de l'exécuter et que la boîte de dialogue modale s'affiche comme elle le ferait normalement. Ce n'est pas le cas et j'obtiens une erreur « Impossible d'ouvrir en mode lecture seule. Le système ne peut pas trouver le chemin spécifié. en accès ou évaluation de '' , "" /*###*/"
Cette erreur se produit après la sauvegarde ET également si elle est laissée seule ou placée dans la fonction JSL Encrypted(). Je vais voir si je ne peux pas créer un petit script pour illustrer mes problèmes que je peux transmettre dans des formats cryptés et normaux.

Re : Chiffrer un script sans avoir besoin d'une table de donnéesJe ne suis pas sûr de comprendre Nathan. Qu'est-ce qui semble indiquer qu'un script chiffré doit savoir sur quelle table de données s'exécuter ? D'après mon expérience, le cryptage ne modifie pas du tout le comportement d'exécution du script.
Pouvez-vous donner un exemple du type de script avec lequel vous rencontrez des problèmes ?
Re : Chiffrer un script sans avoir besoin d'une table de donnéesOui, cela chiffrera correctement le script. Mais cela nécessite la connaissance de la table de données sur laquelle je veux que le script s'exécute... donc j'obtiens une erreur lorsque j'essaie d'exécuter le script car le script n'a pas besoin de table de données. Le script demande à l'utilisateur des entrées pour collecter des informations sur les tables, les emplacements, etc.
Ce que je voudrais/attendrais, c'est que le cryptage du script crypte simplement et qu'il s'exécute normalement comme si je venais d'appuyer sur « Exécuter » avec celui-ci ouvert, ou dans un complément.
Re : Chiffrer un script sans avoir besoin d'une table de donnéesAvez-vous essayé avec le script ouvert dans un éditeur de script en choisissant Édition > Chiffrer le script ?