2022-12-27 分类: 网站建设
web程序的开发大部分都离不开session,比如用户的登录,注销都要基于session的操作。php提供了一套session操作方法,往往很多开发者认为php的session是安全的,足够解决用户会话的安全性。其实不然,php的session仅仅提供了session的操作,并没有安全性辅助,所以需要应用程序开发者自己提供一些机制来增强session的安全性。
众所周知,web是基于http协议的,而http协议是无状态的,一个请求仅对应于一个响应。要保持用户的会话,就需要依赖其他的机制。Cookies是作为http的一个扩展诞生的,其主要用途是弥补http的无状态特性,提供了一种保持客户端与服务器端之间状态的途径,但是由于出于安全性的考虑,有的用户在浏览器中是禁止掉cookie的。这种情况下,状态信息只能通过url中的参数来传递到服务器端,不过这种方式的安全性很差。事实上,按照通常的想法,应该有客户端来表明自己的身份,从而和服务器之间维持一种状态,但是出于安全性方面的考虑,我们都应该明白来自客户端的信息都是不能完全信任的。
session是服务端的机制,每个请求到达服务器,服务器就要对这个请求做判断,如果存在sessionid,就将该请求判定为此sessionid持有者的会话,如果不存在sessionid,则服务器会新建一个sessionid,分配给这个访问者,并将sessionid作为响应返回给客户端,并存放在客户端的cookie中,该客户端下次的请求就包含了该sessionid,以便服务端做出判断。
所以,sessionid一般就当作用户识别的标志。session的安全性就比较重要了。事实上,许多情况下都有可能导致sessionid的泄露。 比如说,如果通过GET数据来传递sessionid的话,就有可能暴露这个敏感的身份信息。因为,有的用户可能会将带有sessionid的链接缓存,收藏或者发送在邮件内容中。Cookies是一种相对来说安全一点的机制,但是用户是可以在客户端中禁止掉cookies的!在一些IE的版本中也有比较严重的安全漏洞,比较有名的就是会泄露cookies给一些有安全隐患的邪恶站点。
虽然sessionid很难被猜测出来,但是还是有可能被攻击者使用某些方法获取到,比如抓包。所以,必须采取一些额外的安全措施来防止此类情况在应用程序中发生。我们可以在每次请求中附带一个token,这个token可以由某些固定的http请求头信息加密生成,然后对token进行校验,来判断请求是否合理,从而增强session的安全性。
安全性是相对的,作为开发者,只能尽可能的去提升安全性,而很难保证绝对的安全。所以,安全相关的知识,需要不断积累,实践。
酷站欣赏:
简约大气的宠物医院网站 交互深入人心
现代简约的建筑公司网站 整个网站给人安心舒适的感觉
文章题目:建站须知——如何增强网站安全性
当前路径:https://www.cdcxhl.com/news/225855.html
成都网站建设公司_创新互联,为您提供企业网站制作、微信小程序、虚拟主机、Google、电子商务、网站排名
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容