一、明显威胁:
1.mysql,防范sql注入:
mysql_real_escape_string 用\转义字符串
2.telnet:
用ssh代替明文传输的telnet
3.ftp:
用sftp(安全文件传输协议)代替明文传输的ftp
Ta = g^a mod p
Tb = g^b mod p
a和b不被知道即可,随机数,很大,g通常取2即可
发送的是Ta和Tb
g^ab mod p == g^ba mod p
4.http:
firesheep工具
session hijacking attack session劫持攻击
嗅探用户历史记录,来获取session id,来冒充用户,服务器只认cookie头信息中的大随机数,而不认ip,就算认ip,也会有问题存在,比如在星巴克这种用同一个ip的无线公共网络(wifi)。
登录用https,可以防御
php.ini中,将session cookie标记为“secure”,告诉游览器,只在https连接下,才发生此cookie,否则就算一开始用https登录,但是后来当用户输入facebook.com时,游览器默认访问http://facebook.com,phpsessionid会以明文方式被发送。
二、共享环境中的安全问题:
无线网络用wpa2进行传输加密
focus-TLS 火狐插件 TLS是ssl中的一种加密协议
或https everywhere
自动将http转成https连接
1.共享主机
suPHP(替换用户php)或fastCGI,vpn
目前的终极解决方案:
登录用ssl,通配ssl可以用于子域名很多的网站,只是要多付点钱
三、隐性威胁:
1. 跨站脚本攻击 XSS:
盗取session cookie
防范:
htmlspecialchars
2. 跨站请求伪造 CSRF/XSRF:
<img>
<iframe>
<script>
var img = new Image();
img.src = "http://a.domain.com/buy?productid=**";
防范:
用post而不要用get
HTTP_REFERER,但并不能保证发送
附加session令牌给url
session快速失效
captcha