亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想知道一般是如何避免cookie偽造的?謝謝大家啦

我想知道一般是如何避免cookie偽造的?謝謝大家啦

PHP
開滿天機 2023-04-03 16:12:59
我用的php,初學者的做法一般就是這樣設置setcookie('username','xxx',time()+3600*24);setcookie('password','xxx',time()+3600*24);再這樣讀取$logged = false;$username = @$_COOKIE['username'];$password = @$_COOKIE['password'];if(isset($username)&&isset($password)){    $logged=true;    $user = getUser($username,$password); }這種做法的話用戶名和密碼就都是明文保存在本地的,不安全對吧。那我可以加密后再保存到cookie里,登陸的時候再在后臺程序里解密,加解密的方法只有我自己知道。這樣是可以避免用戶名密碼泄露,但是要通過cookie偽造登陸應該還是很方便。
查看完整描述

3 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

你說的這種方法是最原始的方法,一般說來僅供學習cookie原理時使用,在實際的開發中一般是不會把密碼這種敏感信息直接以明文方式存放在cookie中的。

現在更通用的做法是使用session來標識用戶,也就是說我們為每個客戶端生成一個唯一的id,然后在服務端存儲這個id所對應的狀態。

這樣cookie里面僅僅保存了這個id,而沒有任何其他的東西。而且這個id往往還有個特性,它是隨機生成,且每次登陸都會產生一個新的。這樣就更降低了信息泄漏的風險。

在php里你可以使用以下代碼來啟用和調用session保存的值,因為它們都是保存在服務器端,所以是安全的。

session_start();$_SESSION['username'] = 'xxx';$_SESSION['password'] = 'xxx';var_dump($_SESSION);


查看完整回答
反對 回復 2023-04-06
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

現在所有在http協議中的登陸都依賴于cookie,或者某個參數。這樣的話,你要保證的是cookie只有你能驗證合法性,但不能解決cookie被盜引起的問題,當然你可以在cookie中把ip信息加密進去。但是這樣也會有一些問題,比如某些客服端的ip是經常變換的。

查看完整回答
反對 回復 2023-04-06
?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

沒用的,你無法解決cookie被盜取的問題,我們是用local storage來弄這個問題的,也是用一個類似cookie的東西,但是每次跟服務器的數據交換都會修改這個值,來加強安全性。

查看完整回答
反對 回復 2023-04-06
  • 3 回答
  • 0 關注
  • 279 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號