å¦ä½åå¨çcookieï¼å®å ¨ï¼ï¼å¹¶ä¿æç¨æ·ç»å½æ¶ï¼ä»ä»¬éæ°æå¼æµè§å¨
如何安全地在Cookieä¸ä¿å˜ç”¨æˆ·çš„密ç ï¼ŒåŒæ—¶ä»ç„¶èƒ½å¤Ÿè®¿é—®å¯†ç ?我有一个å˜å‚¨å¯†ç 的用户åå’Œsha1版本的cookie,但当我å°è¯•检索它们时,我得到了(如预期的)用户åå’Œsha1版本的密ç ï¼Œè€Œä¸æ˜¯å¯†ç 本身。谢谢ï¼å¦‚何å˜å‚¨çš„cookieï¼ˆå®‰å…¨ï¼‰ï¼Œå¹¶ä¿æŒç”¨æˆ·ç™»å½•æ—¶ï¼Œä»–ä»¬é‡æ–°æ‰“å¼€æµè§ˆå™¨
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id='my_login' name='my_login' action='<?php htmlentities($_SERVER['PHP_SELF'])?>' method='post' accept-charset='UTF-8'>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='username'>Username: </label>
<input id='username' type='text' name='username' value='<?php if(isset($_COOKIE['username'])) echo htmlentities($_COOKIE['username']); ?>'/>
<br/>
<label for='username'>Password: </label>
<input id='password' type='password' name='password' value='<?php if(isset($_COOKIE['password'])) echo htmlentities($_COOKIE['password']); ?>'/>
<br/>
<label for "set_cookie">Remember Me</label>
<input type="checkbox" name="set_cookie" id="set_cookie" value="1"/>
<button id='submit' type='submit' name='submit'>login</button>
</form>
</body>
<html>
如何安全地在cookie
å˜å‚¨ç”¨æˆ·å¯†ç ,切勿将本地用户的密ç 。å³ä½¿ä½¿ç”¨å½“å‰è¢«è®¤ä¸ºæ˜¯å®‰å…¨çš„åŠ å¯†æŠ€æœ¯ï¼Œæ‚¨ä¹Ÿæ£åœ¨å¼€æ”¾å·¨å¤§çš„æ½œåœ¨å®‰å…¨æ¼æ´žï¼Œå› 为您æ£åœ¨è·¨è¶Šå¤§é‡å®¢æˆ·ç«¯è®¡ç®—机为å¯èƒ½çš„æ”»å‡»è€…ä¼ æ’æ•°æ®ã€‚
给用户æä¾›ï¼Œè€Œä¸æ˜¯ä¸€ä¸ªéšæœºä¼šè¯ID一个长期的cookie。为将æ¥çš„ä¼šè¯æä¾›ä¸€ä¸ªåˆ°æœŸæ—¶é—´ï¼ˆæ— é™æœŸåœ°å˜å‚¨å®ƒä¸æ˜¯ä¸€ä¸ªå¥½ä¸»æ„,许多网站将其é™åˆ¶ä¸º30天)。让该ID在æœåŠ¡å™¨ä¸Šè‡ªåŠ¨ç™»å½•ç”¨æˆ·ã€‚
æ¤å¤–,当您使用PHP setcookie
ç¡®ä¿æ‚¨çš„æœ€åŽä¸€ä¸ªPARAM httponly
æ·»åŠ ä¸ºtrue。
的HttpOnly
为TRUE时,cookie将仅通过HTTPå议进行访问。这æ„味ç€cookieä¸èƒ½è¢«è„šæœ¬è¯è¨€ï¼ˆå¦‚JavaScript)访问。有人认为,这ç§è®¾ç½®å¯ä»¥é€šè¿‡XSS攻击有效地帮助å‡å°‘身份盗用(尽管它ä¸å—所有æµè§ˆå™¨çš„æ”¯æŒï¼‰ï¼Œä½†æ˜¯è¿™ç§è¯´æ³•往往å˜åœ¨äº‰è®®ã€‚在PHP 5.2.0䏿·»åŠ ã€‚ TRUE或FALSE
æ¥æºï¼šPHP setcookie
这将能够由JavaScript被劫æŒå‡è½»é¥¼å¹²ã€‚
如果您还å¯ä»¥è®¾ç½®secure
æ ‡å¿—åªèƒ½é€šè¿‡HTTPSæ¥å‘é€cookie的能力。
æ˜¯ä¸æ˜¯ä¸Žå¯†ç ä¸€æ ·çš„æƒ³æ³•ï¼Ÿå¦‚æžœé»‘å®¢èŽ·å¾—äº†è¯¥ä¼šè¯ID的控制æƒï¼Œé‚£ä¹ˆä»–们å¯ä»¥ç™»å½•,对å§ï¼Ÿ – 2011-12-26 16:02:23
@user yes - 这是æ¯ä¸ªè‡ªåŠ¨ç™»å½•æœºåˆ¶çš„å›ºæœ‰é£Žé™©ã€‚ä½†æ˜¯ï¼Œå¦‚æžœé»‘å®¢çªƒå–会è¯ID – 2011-12-26 16:02:54
,黑客ä¸ä¼šå¦ä¹ 用户的*密ç 。å¦å¤– - æ£å¦‚Pekkaæ‰€æŒ‡å‡ºçš„é‚£æ ·ï¼Œæ‚¨åº”è¯¥æœ‰æ—¶é—´é™åˆ¶ä¼šè¯çš„æœ‰æ•ˆæ€§ï¼Œä»¥æœ€å¤§é™åº¦åœ°å‡å°‘å—到å¨èƒçš„ä¼šè¯æ‰€å¤„的时间。å³ä½¿é»‘客获得会è¯cookie,他们也åªèƒ½ä½¿ç”¨å®ƒï¼Œç›´åˆ°ï¼ˆa)它到期,或者(b)当用户使用其密ç 登录时,它会被å¦ä¸€ä¸ªæœ‰æ•ˆçš„ç”¨æˆ·ä¼šè¯æ›¿æ¢ã€‚如果他们获得密ç ,åªè¦è¯¥å¯†ç 有效,他们就å¯ä»¥ç»§ç»ç™»å½•。 – tvanfosson 2011-12-26 16:05:20