密码嗅探
尽管攻击者通过嗅探(察看)你的用户和应用间的网络通信并不专门用于访问控制,但要意识到数据暴露变得越来越重要,特别是对于验证信息。
使用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所保护时会显示一个锁形图标
以上就是php安全-密码嗅探的内容。