php 如何建一个安全的会话机制?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

php 如何建一个安全的会话机制?

2016-06-14 11:38:10 2014 1

研究了几天session安全,得出几个观点,请指正:

1.可以xss通过获得cookie信息,包含sessionid
2.可以通过截取http,获得header信息,包含sessionid
3.以上两种法都有一定条件和难度
4.如果服务端单靠sessionid识别会话信息,那么通过xss获取了sessionid后,会泄露用户信息,如果再通过ip,useragent信息加以校验,可以减少风险
5.如果截取了http,换用https方式可以减少风险
6.即便是使用https,ssl证书也是可以伪造

结论:
1.xss漏洞更低级一些,但是造成的风险很大。
2.http截取,截取范围很小,风险小。当然,截取到admin的信息,那就不一样了。
3.http截取/ssl证书伪造的技术要求、环境要求较高,防治的成本也大。

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:37:07

    1.XSS可以通过给sessionid cookie设置 httponly 来防止。
    2.监听http包的,校验IP是一种还不错的办法。因为通常用session做登录都不会持续很长时间,IP通常不会发生变化。admin登录的话,最好不要与前台系统做在一起,独立域名、特殊端口、限制IP/VPN内网、手机短信随机验证码等等方法都可以增强安全性。
    3.https的伪造证书监听,这个貌似只能获取到被欺骗用户提交的数据,因为证书本身验证的是服务器端的可信度。当然如果已经把客户端与服务端网络完全切断,加入了中间代理并伪造了服务器证书,这个应该仍然可以通过认证IP、SSL客户端证书来解决……这个不是很明白,恳请大神讲解。

    另外,sessionid的随机性不够被猜到也是session的潜在安全问题之一。

    0 0
相关问答

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226097浏览量 回答数 162

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157665浏览量 回答数 145

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147218浏览量 回答数 22

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 128847浏览量 回答数 2

33

回答

Win Server 2003-2016 加密勒索事件必打补丁合集

妙正灰 2017-05-15 10:44:38 280367浏览量 回答数 33

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259806浏览量 回答数 38

294

回答

Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)

qilu 2014-09-25 13:26:50 434542浏览量 回答数 294

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305599浏览量 回答数 249

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 123683浏览量 回答数 97

13

回答

游戏云精彩帖汇总

nono20011908 2014-08-22 11:00:12 203954浏览量 回答数 13
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载