簡體   English   中英

$ _SESSION v。$ _COOKIE

[英]$_SESSION v. $_COOKIE

幾周前,我在創建登錄頁面時了解了$_SESSION 我可以成功登錄並將其與變量一起使用。 目前我正在嘗試了解$_SESSION$_COOKIE 如果我錯了請糾正我,我可以在登錄和移動頁面時使用$_SESSION 使用$_COOKIE ,它用於記住我上次訪問和偏好的時間。

涉及cookie的另一個問題是,當網站使用廣告(例如:Google AdSense)時,他們會使用Cookie來跟蹤訪問者點擊廣告的時間,對嗎?

我可以同時使用( $_SESSION$_COOKIE )? 我在某處讀到你可以將session_id存儲為cookie的值。

另外,我讀到了安全性,讓我發現這一點: 當用戶登錄時,我需要在php會話中存儲什么? 當用戶回到網站時,是否使用session_regenerate_id

這個: 如何使用涉及uniqid php存儲cookie

對於那些想要了解登錄的人,我使用電子郵件和密碼。 這樣,用戶就可以更改其用戶名。

我期待從任何想要分享他們知識的人那里學到更多關於這兩個的知識。 如果我問了太多問題,你可以回答你有更多經驗的問題。

如果您需要更多信息,請詢問,因為我可能忘記包含一些內容。

謝謝。


發現: 在允許在我的網站上放置廣告之前,我應該注意哪些風險?

簡單來說, $_SESSION$_COOKIE是不同的。 兩者都是php全局,但使用cookie時沒有語言限制。 $_SESSION就是將數據存儲在服務器中,同時將會話ID存儲為cookie。 $_COOKIE瀏覽器發送給服務器的cookie。 這是主要的區別。 如果客戶端瀏覽器禁用了cookie,則會話不起作用。

- 安全 -

如果您檢查了瀏覽器發送的請求標頭,您會注意到每個請求都包含cookie信息。 可以通過剪切網絡通信來跟蹤它們。 擁有更好工具的任何人都可以編輯cookie數據。 永遠不要使用cookie來存儲密碼! 如果您使用會話,則密碼位於服務器中,並且只有會話ID cookie將存儲在客戶端中, 從而減少了安全問題。 查克諾里斯仍然可以劫持一個會議。

- 表現 -

如果您在瀏覽器中存儲5個cookie,其中包含200個字節,那么無論是jpg文件還是實際需要cookie信息的頁面, 每個請求的數據大約需要1 KB。 因此,這會直接影響您的網站對最終用戶的執行速度。

如果使用會話,則服務器具有此1 KB數據,而客戶端在每個頁面請求中發送會話ID。 通過將靜態文件轉移到另一個無cookie的域,您可以很聰明。

- 一生 -

會議及時得到批准。 因此,如果您想長時間保存某些內容,請使用Cookie。 “記住我”大多數網站的功能都是這樣工作的(但是,它不存儲密碼。只是會話信息 - 不要與會話ID混淆)。

底線,會話和cookie是不同的類型。 會話是相對安全的和服務器端存儲。 經常清理。 Cookie可以有更長的使用壽命,但它會影響性能(不是CPU / RAM - 加載時間),除非你不記得這一點。 如果有理由將1 KB存儲為cookie,那就太奇怪了。

永遠不要相信通過$_GET/POST來的用戶輸入。 也為$_COOKIE做同樣的照顧。 還有會話劫持。 有人可以猜到其他人的會話ID,盡管這幾乎是不可能的。 因此,首先在服務器端使用一些驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM