2012-12-26 99 views

回答

3

這裏確實存在一個安全問題:即任何可以用AJAX調用的方法都可以被攻擊者用任何他們想要的參數調用。因此,即使惡意地調用,您也需要確保所公開的任何方法都是無害的。

如果您確實需要通過AJAX公開那些可能有害的方法,那麼您需要確保這些方法只在用戶進行了適當的身份驗證時纔會執行其預期的操作,並且操作的範圍僅限於用戶有權這樣做。身份驗證信息應以某種方式傳輸,使攻擊者難以攔截,例如在HttpOnly cookie中。

此外,這些方法應該受到保護,以防止CSRF attacks,攻擊者可以通過該方法欺騙已通過身份驗證的用戶調用他們不打算訪問的方法。標準解決方案是將輔助身份驗證令牌作爲參數傳遞給方法,並且只有在令牌和Cookie匹配時才允許訪問。

簡短的說法是:任何通過AJAX公開的東西都是暴露的。將其視爲attack surface的一部分。