Session验证和优缺点

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将状态保存在服务器端,占用服务器内存,如果用户量过大,会严重影响服务器的性能

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

猜你喜欢

转载自blog.csdn.net/CXY_ZPH/article/details/85054665
今日推荐