Session验证和优缺点

本文介绍Session验证机制,包括实现步骤、超时管理及Cookie禁用情况下的URL重写方案。探讨Session的优势与局限,以及验证码在防止机器人操作中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

session验证
.用户访问需要保护的资源时,可以使用Session验证的方式保证其安全性,比如要求登录后才能访问的资源.
.实现Session验证,遵循以下步骤:
-1.使用Session.setAttribute()先绑定数据
-2.使用Session.setAttribute()方式来读取绑定值,如果没有,则跳转回登录页面

session超时
.Web服务器会将空闲时间过长的Session对象删除以节省服务器内存空间资源.
.Web服务器缺省的超时时间限制:一般是30分钟

如何修改Session的缺省的时间限制
1.修改tomcat的conf/web.xml配置文件
<session-config>
    <session-timeout>30</session-timeout>
</session-config>

2.通过编程的方式修改
session.setMaxIncativeInterval(int seconds);

 

 

浏览器禁用Cookie的后果:
.如果浏览器禁用Cookie,Session还能用吗?
答案:不能,但是有其他解决方案
.服务器在默认情况下,会使用Cookie的方式将SessionId发送给浏览器,如果用户禁止Cookie,则SessionId
不会被浏览器保存,此时,服务器可以使用如URL重写这样的方式来发送SessionId

什么叫URL重写
:浏览器在访问服务器上的某个 地址时,不再使用原来的那个地址,而是经过改写的地址(即:在原来的地址后面加上
SessionId).
response.sendRedirect(response.encodeRedirectURL("index.jsp"));

如果是链接地址或表单(get方式提交)提交,使用
response.encodeURL(String url)生成重写后的URL

如果是重定向:
response.encodeRedirectURL(String url).

session的优缺点:
.优点:
-安全:(将状态保存在服务器端)
-session能够保存的数据类型更加丰富,Cookie只能保存字符串
-Session能够保存更多的数据,Cookie大约保存4k.
缺点:
-session将状态保存在服务器端,占用服务器内存,如果用户量过大,会严重影响服务器的性能

验证码的作用:
.为了防止机器人的破坏性操作,可以使用验证码技术来防止恶意的发送数据
.验证码的本质上是一张动态产生的图片
.图片的内容会随着程序的运行而随机生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值