我正在編寫一個應用程序,它具有服務器上的客戶端和php上的JS,在服務器上打開會話及其「在php腳本中」我通過唯一標識檢索每個用戶從DB和存儲在$_SESSION["uID"]
起初,我認爲這是足夠的同時將用戶數據從JavaScript發送到PHP,因爲會話將處理識別問題,並且每個用戶請求將由其自己的會話接收,因此沒有用戶會話會衝突與另一個..我對嗎?或者我必須使用其他技術?
我是否必須將用戶標識從js發送到php?或者它足以在php中聲明?
我必須使用會話Id或其他東西嗎?從js發送用戶數據到php
0
A
回答
2
由js發送用戶ID會使您的施藥器不安全。任何人都可成爲任何人 如果session由cookie設置,那麼在php結束時使用該會話就足夠了。您不必通過js發送會話Id,因爲它會通過Cookie由瀏覽器自動發送。
0
花一些時間閱讀會議。
當你測試它時發生了什麼?
正常情況下,會話ID通過cookie傳輸。 Cookies應該通過xmlhttp請求發送到服務器。 Cookie通過HTTP請求在瀏覽器上設置。
可以通過其他方式發送會話標識,並通過javascript設置會話cookie - 但對此的解釋在理解基礎知識之前不會有多大意義。
1
很確定,一旦session_start()在php腳本的開始被調用,您將能夠訪問$ _SESSION [「uID」]。如果您爲用戶提供了唯一的uID,則只需在php中使用它。此外,如果您使用uID從js到php進行一些調用,將會有一個巨大的安全漏洞,因爲javascript很容易受到干擾,並且可能會傳遞「錯誤的」uID。所以是的,我會堅持你所說的和我的結論:是的,它足以在php中聲明:)
0
Php有客戶端將會話ID存儲爲cookie,並在每個請求上發送該cookie。但是,如果用戶不保留cookie,會話將被取消。更糟糕的是,如果用戶從不安全的位置登錄,攻擊者可能會得到他的會話ID,並且系統會錯誤地將其標識爲受害者。
事實是,沒有絕對的方法來識別客戶端。對於大多數情況,會話ID足夠好,但是如果您需要額外的安全層,請將帳戶與IP檢查和會話結合使用。
相關問題
- 1. 不能發送數據從JS到PHP
- 2. 我想從js發送數據到php
- 3. 從ajax發送數據從PHP到PHP
- 4. 從JS(腳本的回調函數)發送數據到PHP?
- 5. 從客戶端JS代碼發送數據到Struts 2 ActionSupport類
- 6. 更高效的將數據從php發送到js的方式
- 7. 從php發送變量到js
- 8. 將數據從PHP發送到jQuery
- 9. 無法發送數據從Android到PHP
- 10. 如何從JavaScript發送數據到PHP
- 11. 從PHP發送數據到C#或VB.NET
- 12. 從python發送數據到php文件
- 13. 從Android發送數據到PHP頁面
- 14. 從as3發送數據到PHP錯誤?
- 15. 發送數據從jQuery到PHP郵寄
- 16. 將數據從ajax發送到php
- 17. PHP將HTML發送到JS
- 18. 從JavaScript發送數據到PHP沒有客戶端
- 19. 將數據從php服務器發送到vb.net客戶端
- 20. 發送數據從jQuery發送到phpexcel
- 21. 使用PHP從表單發送數據
- 22. PHP不發送數據到數據庫
- 23. 從python發送數據到php,並從php返回json數據到python
- 24. 使用jQuery發送JSON數據到PHP
- 25. 發送數據到PayPal;用PHP
- 26. 用java發送數據到php頁面
- 27. 用ajax發送數據到php
- 28. 使用Ajax發送數據到PHP
- 29. 如何從JS發送陣列數據使用節點JS
- 30. 如何從客戶端js連接到服務器js使用節點js發送和獲取數據
默認情況下,PHP會將會話ID存儲在cookie中。每次請求都會將Cookie發送回服務器。 – 2012-04-17 08:32:40
你的第一個變種是好的。您可以將用戶標識存儲在'$ _SESSION [「uID」]'中。您應該將用戶標識從JS傳遞到PHP以識別用戶。每個用戶都有它自己的'$ _SESSION'超全局數組。 – 2012-04-17 08:33:50