2013-03-31 163 views
3

我喜歡問一個新手問題。通過在JavaScript中設置API密鑰,是不是任何人都可以自由地閱讀源代碼並使用密鑰?Filepicker API密鑰

編輯>>

提取的jsfiddle碼,

filepicker.setKey('8PbzrhP9Tr2r6wPlSqzS'); 

/* Unsecured */ 


/* 
filepicker.pick(function(fpfile){ 
    console.log(fpfile); 
}); 

filepicker.read(fpfile, function(contents){ 
    console.log(contents); 
}) 
*/ 


var fpfile = {'url': 'https://www.filepicker.io/api/file/KW9EJhYtS6y48Whm2S6D'}; 
var policy = 'eyJoYW5kbGUiOiJLVzlFSmhZdFM2eTQ4V2htMlM2RCIsImV4cGlyeSI6MTUwODE0MTUwNH0='; 
var signature = '4098f262b9dba23e4766ce127353aaf4f37fde0fd726d164d944e031fd862c18'; 


filepicker.read(fpfile, {policy: policy, signature:signature}, function(contents){ 
    console.log(contents); 
}) 

filepicker.pick({policy: policy, signature:signature}, function(fpfile){ 
    console.log(fpfile); 
}); 

它是如何阻止任何人使用的關鍵ONLY,上傳或從我的帳戶閱讀/下載文件?

回答

0

Java字節碼很容易被翻轉,但工作量很小。如果您需要,請使用TLS將其從網站中提取並存儲到RAM中,或者至少使用密碼進行異或。

3

由於瀏覽器端JavaScript總是公開可讀,您的API密鑰將可見給他人。除了簡單的URL /主機名檢查之外,爲了增加對API密鑰的保護,您可以使用我們提供的豐富的基於策略的安全API:https://developers.filepicker.io/docs/security/

+0

假設我生成了上傳策略。整個網址會不會被惡意使用?除非政策限制以時間爲基礎,但這意味着經常會產生相同的政策(不同的時間)?還有一個基於時間的閱讀政策?這可行嗎? – twb

+0

是的,該政策是基於時間的,您可以使用基於時間的政策進行閱讀 – brettcvz

+0

其他問題呢? Filepicker服務器端是否處理任何濫用整個策略url或只是API密鑰就足夠了? – twb