2011-12-06 23 views
6

我的插件最好的安全技術已經流通過描述如下圖:這是我的javascript插件

MyPlugin.js flows

要求是使認證後onclick交易發生。也就是說,只有當包含page.html域名的所有者已經在我的網站註冊(例如www.MyPluginJS.com/register)他/她可以使用MyPlugin.js。

成功註冊後,我的註冊門戶網站吐出Client ID

我的問題是:

  1. 什麼是我需要爲了使用,使onclick交易安全的最佳方法?
  2. 我可能需要什麼其他參數(例如:MD5指紋)來確保交易安全地發生?
  3. 是否有任何我可以利用的現有框架(例如OAuth)?

我需要一種方法來阻止人們使用未註冊的MyPlugin.js。

我對安全技術缺乏經驗,但我可以設法編寫代碼。

感謝提前:)

+0

真正談論與JavaScript安全是不現實的 - 我反而找到一種方法,讓/塊訪問,從服務器端.js文件的基礎上,你有任何的身份驗證令牌... – Leon

+0

@Leon感謝您時間:)我如何阻止訪問.js文件? – codemaniac

+0

您確實需要將業務邏輯包裝到服務器中。任何JavaScript的暴露。任何人都可以複製你的JavaScript文件,並在本地提供它,記住任何人都可以通過手使用控制檯,如果他們想調用任何JavaScript函數。 JavaScript卻使事情的工作很好的客戶端,但任何重要的東西已經發生的服務器端,你必須從消毒的JavaScript插件任何輸入。 –

回答

1

你可以使用一些服務器端語言服務JS文件,添加一個鍵/值對的js文件,PE的要求:MyPlugin.js鍵= someValue中。您的腳本可以將該值與存儲授權用戶的某些數據庫表值進行比較。

HTH, 米格爾

1

使用jQuery,你可以採取功能$.getScript(url)的優勢,加載從服務器端避免使用<script>標籤的JavaScript文件。

想法是將getScript函數指向服務器端腳本,該腳本將首先驗證用戶的會話,如果會話有效,則會返回要加載的JavaScript文件內容或其他無效的JavaScript文件。

1

我看到有些人在他們的網絡服務器上使用日期/時間來創建類似於@Michi所提到的安全級別。然而,我沒有親自嘗試過。

1

我認爲你應該使用在服務器端創建的session以確保用戶已經登錄。然後可以檢查客戶端(爲了方便用戶)是否設置了會話變量,然後驗證會話服務器端(爲了安全)避免用戶篡改客戶端代碼。

然後,您可以使用AJAX將插件頁面的內容加載到iframe中。 jQuery使得AJAX更易於管理。

所以我簡單的回答是使用服務器端腳本和會話變量來確保安全性,並在客戶端使用jQuery和AJAX以方便用戶。

相關問題