星期六, 7月 05, 2014

對 ActiveX 授權以限制非法使用

由於 ActiveX 是部署在網頁,下載到使用者的電腦執行,略懂的人就有辦法拿來「再利用」,而且無需發行 ActiveX 一方的同意。雖然網路上也有些專業販賣 ActiveX 元件的公司對自己的心血保護,但他們的做法大多不能防止「一魚多吃」或「非法挪用」的狀況。

利用 url 具有唯一性的特徵,可以用這樣的設計來限制非法使用:
  • 授權檔就是一個 JavaScript,定義其本身預計部署的 url 與「授權書」兩個變數。
  • 申請授權就是決定 url,發行 ActiveX 的一方視為待簽原文,用簽署 ActiveX 的憑證簽出「授權書」。
  • 帶有 ActiveX 的網頁也要引入授權檔。
  • 任一 ActiveX 公開方法都要檢查內部的「授權通過」旗標,若值為否,則直接拋出例外而不執行任何功能。
  • ActiveX 載入時就要檢查授權檔的兩個變數,若能取得,該 url 又確實是其載入的位址,授權書也能通過簽署 ActiveX 憑證的驗簽,則設「授權通過」為真。

沒有留言:

張貼留言