我正在使用前端中的angularjs(JavaScript)和後端中的php rest api進行單頁面Web應用程序(SPA)。單頁面應用程序安全
我對服務器做了很多ajax調用,例如提交一個新的故事。安全問題出現了。服務器需要識別請求。由於這是SPA,只有一個客戶(前端)應該有權執行此請求。
我一直在googleing幾天找到一種方法來識別客戶端。我看到我可以在ajax調用的頭文件中發送一個clientid,但由於前端位於JS中,並且用戶可以看到所有的JS代碼,所以這不是安全的。
例子:
$http.post("some/url", somedata, {
headers: {
"ClientId":"someidforthisclient"
}
});
黑客可以看看JS代碼,並複製ClientId
。這樣他就可以進行ajax調用,服務器會認爲這個請求是有效的。
所以我的問題是:
我怎樣才能識別服務器中的客戶端,但保證ClientId(或安全令牌等)不能被用戶看到?
用戶需要登錄?如果是這樣,你可以在登錄時創建一個會話,並在ajax調用上讀取該會話。 – Naruto
@Naruto在這個例子中,是的,用戶可以登錄,但是如果用戶想要爲這個呼叫創建一個新帳戶不會是一個會議。 – YvesHendseth
@YvesHendseth - 他們沒有權限訪問超出顯示登錄和註冊屏幕所需的數據。 – Quentin