2012-05-28 68 views
0

我有一個API(1),我用它自己的AJAX API(2)構建了一個Web應用程序。原因是不公開源API。 但是,Web應用程序使用AJAX(通過JQuery)從其AJAX API獲取新數據,檢索的數據當前使用XML。 最近我用授權算法確保了主API(1)。但是,我想確保Web應用程序的安全,因此無法解析。目前正在分析獲取用於調用返回XML的AJAX API的哈希。保護AJAX API

我的問題:如何提高安全性並降低其他人能夠解析我的Web應用程序的可能性。 我唯一的想法是:停止發送XML,而是發送HTML。使用閃光燈(但這不是一個選項)。

據我所知,由於該網站是公開的,並且不能登錄,所以很難拒絕對機器人(非合法用戶)的訪問。此外,Flash是不是一種選擇......它永遠不會是;)

編輯
Web應用程序我指的是:https://bikemap.appified.net/

+2

「我想要保護Web應用程序以及它不能被解析」---這是不可能的。如果瀏覽器可以顯示某些內容 - 可以使用與瀏覽器工作方式非常類似的方式進行分析 – zerkms

+2

另一個提到:AJAX API與普通頁面沒什麼區別,應該以完全相同的方式進行保護 – zerkms

+0

我知道所有這些。第一個,寫「我有一個API和一個API ......」只是讓閱讀困惑。其次,我寫道:「我明白,由於該網站是公開的,並且不能登錄,所以拒絕訪問機器人很難」,所以是的,我明白你的觀點。 –

回答

2

這有些奇怪的要求;您希望鎖定您自己的Web應用程序依賴其工作的系統。這幾乎總是一場災難。

Web應用程序應該總是期望被排除在外,所以真正的安全性必須來自服務器; tarpitting,會話令牌,節流等等。

如果已經到位,我看不到任何理由爲什麼要在自己的Web應用程序中跳過這些環節,給機器人更艱難的時間......除非您真的想要將人與機器人分開;-)

減少重構痛苦的一種方法是將$.ajax函數包裝在可簽署傳出請求(或以某種方式向其添加字段)的代碼段中...然後縮小/隱藏該代碼,並希望它不會如此快速地被解碼。

+0

我有,那已經到位了。主要API用於iOS和Android應用程序。 Web應用程序在其上創建自己的圖層。 –

+0

@PaulPeelen那麼爲什麼不在Web應用程序中添加授權呢? –

+0

因爲用戶每天都是正常的消費者。這不是私人服務,只是來自機器人,而法律通知不起作用。 –