PHP安全-密碼嗅探
盡管攻擊者通過嗅探(察看)你的用戶和應用間的網絡通信并不專門用于訪問控制,但要意識到數據暴露變得越來越重要,特別是對于驗證信息。
使用SSL可以有效地防止HTTP請求和回應不被暴露。對任何使用https方案的資源的請求可以防止密碼嗅探。最好的方法是一直使用SSL來發送驗證信息,同時你可能還想用SSL來傳送所有的包含會話標識的請求以防止會話劫持。
為防止用戶驗證信息不致暴露,在表單的action屬性的URL中使用https方案如下:
CODE:
<form action='https://example.org/login.php' method='POST'>
<p>Username: <input type='text' name='username' /></p>
<p>Password: <input type='password' name='password' /></p>
<p><input type='submit' /></p>
</form>
高度推薦在驗證表單中使用POST方法,這是因為無論是否你使用了SSL,這樣做與GET方法相比,驗證信息較少暴露。
盡管這樣做只是為了保護用戶的驗證信息不被暴露,但你還是應該同時對HTML表單使用SSL。這樣做不是出于技術上的原因,但是用戶在看到表單被SSL所保護時,在輸入驗證信息時會感覺更為舒坦(見圖7-1)。
圖 7-1. 大多數瀏覽器在當前資源被SSL所保護時會顯示一個鎖形圖標
相關文章: