java中 sesssion/cookie ,转发/重定向

cookie

        Cookie cookie = new Cookie("email",email);
        cookie.setMaxAge(10*60);
        response.addCookie(cookie);

        if(cookie != null){
            if(cookie.getName().equals("email")){
                System.out.println("我是cookie数据"+cookie.getValue());
            }
        }

session

        HttpSession session = request.getSession();//获取session,没有则创建
        session.getId();//获取sessionId
        session.getAttribute("key");//获取存储的某个值
        session.setAttribute("key","value");//存储数据,value是object类型
        session.getCreationTime();//获取session创建的时间
        session.removeAttribute("key");//移除某个数据
        session.invalidate();//重置session,使session失效
        session.setMaxInactiveInterval(1*60*60);//设置会话的超时时间(单位:秒),默认30分钟
        session.getLastAccessedTime();//最后一次修改session的时间


        session.setAttribute("email",email);
        String email2 = (String) session.getAttribute("email");
        System.out.println("email是"+email2);

转发

        // 1、获取request的请求转发器,内部参数为转发的路径
        RequestDispatcher dispatcher =  request.getRequestDispatcher("/servlet3");
        // 2、调用转发器对象,传入参数request和response
        dispatcher.forward(request,response);

重定向

        //方法一
        response.setStatus(302);
        response.setHeader("location","/servlet5");

        //方法二
        response.sendRedirect("http://www.baidu.com");

### 关于文件中包含 Session 的处理 #### 什么是 Session 文件 当 PHP 应用程序启用 `session` 功能时,服务器会在指定的临时目录下创建一个与会话关联的文件来存储用户的会话数据。这些文件通常命名为 `sess_[phpsessid]`[^3]。 #### 如何处理包含 Session 的情况 为了安全有效地管理包含 session 的文件,应当遵循以下原则: - **配置合理的保存路径** 确保通过 php.ini 中设置合适的 `session.save_path` 参数指向的安全位置用于存放 session 数据文件。这有助于防止未授权访问以及潜在的安全风险。 - **验证并过滤输入参数** 在加载或操作任何基于用户提交的数据之前,务必对其进行严格的校验和清理工作,特别是涉及到动态文件名构建的部分。例如,在读取特定 session ID 对应的文件前,应该先确认该 ID 是否合法有效,并且只允许预期范围内的字符存在。 - **禁用危险功能** 对于不再使用的特性如 `allow_url_include` 或者其他可能带来安全隐患的功能选项要予以关闭。这样即使攻击者设法控制了某些变量也无法轻易触发远程代码执行漏洞。 ```php // 设置 session 存储路径到更安全的位置 ini_set('session.save_path', '/var/php_sessions'); // 启动 session 并获取当前的有效 phpsessid 值 session_start(); $validSessionId = session_id(); // 安全地打开对应的 session 文件 (假设已知确切名称) if (!empty($validSessionId)) { $safeFileName = 'sess_' . preg_replace('/[^a-zA-Z0-9]/', '', $validSessionId); if (file_exists("/path/to/sessions/{$safeFileName}")) { // 进一步处理... } } ``` 上述代码展示了如何设定更加安全的 session 文件存储路径,并示范了一种简单的方法去保护对 session 文件的操作过程中的安全性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值