2011-09-18 70 views
1

我正在使用PHP和JavaScript製作一個小型的Web應用程序,並且我不知道如何「隱藏」用戶的ID。讓我來說明...JavaScript,通過JSON傳遞用戶ID是一種安全風險?

我有一個頁面,它使用了大量的JavaScript(它基於Google Maps API)。當用戶完成他們所有的東西時,我創建了一個包含我想要寫入數據庫的所有東西的JavaScript對象(基本上來自地圖的位置)。所以我想用AJAX將這個對象傳遞給另一個腳本,這當然使用JQuery(我是)非常簡單。

這裏存在的問題,以及我需要傳遞用戶ID的JavaScript對象,以便它傳遞的腳本知道哪個用戶將對象中的值關聯起來。我覺得如果我通過JavaScript傳遞它,那麼有人可以很容易地開始傳遞一個錯誤的用戶ID,並將大量東西添加到與不同用戶關聯的數據庫中。

我可以通過PHP的用戶ID,但那麼我怎麼把JavaScript對象給PHP?

任何人都可以提供任何意見關於如何使用JavaScript傳遞地圖數據,但不知何故不公開用戶ID細節?

+2

你看過會議嗎? – tjameson

+0

用戶是否登錄到您的應用或基於匿名訪問? – Furicane

+1

通過它的聲音,你已經在客戶端設置了一些東西來保存userId,爲什麼不把它放在用戶會話中,那麼你不需要傳遞這個id呢? –

回答

1

這是一個安全風險:任何人都可以嘗試編輯用戶標識並覆蓋其他用戶的數據。 你應該考慮使用sessions,它可以讓你識別服務器上的用戶:當服務器收到請求時,你知道它是從哪裏來的,並可以採取合適的行動。

+0

完美無缺,謝謝! – jackbot

1

就像說@約翰Richie,如果它不是匿名的(我假設沒有,如果用戶有ID),你應該使用session_id並通過它而不是id通過JS。一旦收到,檢查session_id,檢索user_id並做你的東西。

+0

非常有幫助,歡呼:)(會接受@約翰裏奇先不到那裏!) – jackbot

+0

沒有pb。樂意效勞 ;) – guillaumepotier

相關問題