2012-02-03 9 views
3

私はPerlスクリプトを書いています。このスクリプトは、Twitter上でMPDの現在の再生曲を投稿しています。PerlでTwitterトークンを隠している

これを行うには、アプリケーションのconsumer_keyとconsumer_secretを挿入する必要があります。

コードを公開したい場合、どのようにこれらのトークンを隠すべきですか?ここで

は、コードは次のとおりです。http://pastebin.com/ZNVdqu36

+0

出力することをprint文を追加します私はコードを書き直しました。 http://pastebin.com/8x91HfUG ここでは、http://search.cpan.org/~mmims/Net-Twitter-Lite-0.10004/lib/Net/Twitter/に記載されているユーザー名/パスワード認証を使用しています。私はこれを入手しました: '〜/ Sources/mpdtweet%。/ mpdtweet2.pl' ' Tweeting«#キングクリムゾン - 市の写真(ポセイドンの目覚め)»。 ' 401:Unauthorized' **編集** OK、使用できません:https://github.com/semifor/Net-Twitter/wiki/Net::Twitter-and-the-death-of-Basic - 認証 – turlando

答えて

1

誰もがそれを取得することができますように、あなたは、コード内でキーを配置することはできません。 Perlではなく、他の場所ではありません。

アプリケーションはコードをTwitterに送信する必要があるため、コード自体を取得する必要があります。これは少し動機づけられたまともなハッカーがそれを得ることができることを意味します。

davorg's answerは、同様にこの点を示していますが、本当にあなたがあなたの顧客にアプリケーションを配布する必要があるときに使用することはできません。どちらか、彼は彼の環境変数をチェックし、あるいは単にさえずり

0

は、それらの環境変数を作成します。

unless ($ENV{TWITTER_KEY} and $ENV{TWITTER_SECRET}) { 
    die "Please set the environment variables TWITTER_KEY and TWITTER_SECRET\n"; 
} 

my $twitter = Net::Twitter::Lite->new(
     consumer_key => $ENV{TWITTER_KEY}, 
     consumer_secret => $ENV{TWITTER_SECRET}, 
); 
関連する問題