2009-02-04 6 views
3

J'ai écrit plusieurs scripts qui utilisent l'API gdata, et ils ont tous (évidemment) ma clé d'API et mon ID de client en texte brut. Comment suis-je supposé les distribuer?Comment distribuer un script en utilisant gdata-python-client?

+1

Voulez-vous qu'ils utilisent votre clé API ou qu'ils utilisent les leurs? –

+0

Eh bien dans un monde parfait, je préférerais que tout le monde utilise ma clé API, mais 1), mon script est open-source, et 2) il est pratiquement impossible d'obscurcir ou d'encoder quoi que ce soit en toute sécurité en Python, au moins dans ce genre de situation . – miniman

Répondre

3

Déplacez les variables dans un module séparé et remplacez vos valeurs par des valeurs factices. Assurez-vous d'attraper une clé non valide et fournissez des instructions sur la façon d'obtenir une clé et l'endroit où la placer. Dans votre code, vous pouvez simplement importer les valeurs de ce module.

import gdata_api_key 
print gdata_api_key.key_value 
+0

Battez-moi * soupir * +1. –

+1

obligeant les utilisateurs à obtenir une clé d'api semble être un bon moyen de ne pas avoir d'utilisateurs –

0

Si nous supposons que vous voulez que les clients à utiliser leurs propres clés, je vous recommande de les mettre dans un fichier de configuration qui est par défaut un (invalide) valeur sentinelle.

Si par contre vous voulez que le script utilise votre clé, le mieux que vous puissiez faire est de l'obfuser. Après tout, si votre programme peut le lire, un attaquant (avec un débogueur) peut le lire aussi.

Questions connexes