cookie

Weblogic跨域session冲突解决办法

人走茶凉 提交于 2020-03-02 06:06:41
一、现象: 在WebLogic中,有两个不同域A(端口:9000)和B(端口:8000),应用CA在域A中,应用CB在域B中,进行如下操作: 1、先登录应用CA,再登录应用CB,然后,切换回应用CA,发现应用CA的Session丢失; 2、应用CA中有指向应用CB的链接,登录应用CA,点击指向应用CB的链接,应用CA的Session丢失; 二、原因: 因Cookie冲突导致Session丢失。 Cookie的覆盖机制: 如果一个新的cookie与一个已存在的cookie的NAME、Domain和Path属性值均相同,则旧的cookie会被丢弃。(参考: http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies ) WebLogic的Cookie相关配置: 属性名 默认值 值 cookie-name JSESSIONID 如未设置,默认为“JSESSIONID” cookie-path NULL 如未设置,默认为“/” cookie-domain NULL 如未设置,默认为发放cookie的服务器的域   由于没有在Weblogic.xml配置文件中对cookie的相关属性值进行配置,因此应用CA和应用CB的cookie的Name、 Domain和Path属性值均为默认值

使用Cookie保存用户名密码,再次登陆时将Cookie用户名密码取出来并直接放置到用户名密码文本框中

老子叫甜甜 提交于 2020-03-02 03:50:09
如下分为两份代码:登陆页“test_6.11_login.jsp”,登陆成功页“test_6.11_page.jsp” 登陆页中,用户输入用户名密码,点击提交,后台对照mysq数据库中,看是否有对应的用户名,以及密码是否正确。如果正确 则将用户名密码分两份Cookie保存。页面跳转到登陆成功页。 用户再次访问登陆页时,先取出Cookie,判断是否存在用户名密码的Cookie,如果有,则将值保存在变量或者request中。接着 将Cookie的变量或request赋值给用户名密码文本输入框。到此完成了保存用户名密码的功能。 test_6.11_login.jsp <%@ page language="java" import="java.util.*,java.sql.*,java.net.*" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> <html> <head> </head> <body> <%! //定义数据库驱动程序 public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3307/yunmobile";

处理session跨域几种的方案

为君一笑 提交于 2020-03-02 01:46:53
常用跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态。两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法。 方式一 : 在一,二级域名下调用如下代码: <?php include("DBsession.php"); $_SESSION['usssser_oke'] = 'xxssssss'; $_SESSION['user_oke'] = 'xxsss'; ?> DBsession.php <?php /** /** 直接引用api QQ登录的session写法,配置相关配置才行哈 * 设置session配置 */ /** * CREATE TABLE `tbl_session` ( * `session_id` varchar(255) binary NOT NULL default '', * `session_expires` int(10) unsigned NOT NULL default '0', * `session_data` text, * PRIMARY KEY (`session_id`) * ) ENGINE=MyISAM; */ class Session { //mysql的主机地址 const db

PHP中利用COOKIE与SESSION联合实现SESSION跨域

假装没事ソ 提交于 2020-03-01 23:57:15
大家都知道 SESSION# 是不可以 跨域# 的,也就是说: a.demo.com这个域的可执行文件不可以访问到b.demo.com的SESSION,这个是SESSION的特性,同样也是出于安全角度才这样的. 在一般情况下,一个网站只有一个域名,www.demo.com,但是也有些网站架构是由多个子域名组建的.所以就需要SESSION可以跨子域被 访问到,这样才可以实现用户的跨域登录.就是说客户在A下登录的,同样B也同时登录了,不需要用户再次登录,同时也实现了参数的跨域传递.当然不可跨域的 SESSION本身已经可以帮助我们做很多事情了,那么跨域后的SESSION呢.读到这里是否很激动人心,当然你也可能是正在为SESSION跨域而发 愁而找到这篇文章的,同样也祝贺你.我们长话断说了,开始Ioopen的话题: COOKIE# 与SESSION联用实现SESSION跨域. 首先描述下我的思路,COOKIE可以指定域名,也就是说它可以跨域子域,例如: setcookie(’name’,’Ioopen’,time()+3600*24,’/’,’demo.com’) ,那么a.demo.com,b.demo.com都可以访问到$_COOKIE['name'],值也均为’Ioopen’.同 理,SESSION ID也可以设置成这个域名,那么a.demo.com和b.demo

关于Django中使用cookie的三天免登录代码

自古美人都是妖i 提交于 2020-03-01 17:57:59
创建templates/login.htm <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/student/login/" method="post"> {% csrf_token %} <p> <label>用户名:</label><input type="text" name="sname" value="{{ sname }}"> </p> <p> <label>密码:</label><input type="password" name="pwd" value="{{ pwd }}"> </p> <p> <input type="checkbox" name="check" value="1">记住密码 </p> <p> <input type="submit" value="登录"> </p> </form> </body> </html> 配置路由 根路由 from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls),

ASP.NET的WebConfig

…衆ロ難τιáo~ 提交于 2020-03-01 16:18:55
花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 <? xml version = " 1.0 " ?> <!-- 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项。 设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 "Windows"Microsoft.Net"Framework"v2.x"Config 中。 --> <!-- Webconfig 文件是一个xml文件,configuration是xml文件的根节点,由于xml文件的根节点只能有一个,所以Webconfig的所有配置都是在这个节点内进行的。 --> < configuration > <!-- 指定配置节和命名空间声明。clear:移除对继承的节和节组的所有引用,只允许由当前 section 和 sectionGroup 元素添加的节和节组。remove:移除对继承的节和节组的引用。 section: 定义配置节处理程序与配置元素之间的关联。sectionGroup:定义配置节处理程序与配置节之间的关联。 --> <

怎样在多台Web服务器上共享Session

廉价感情. 提交于 2020-03-01 15:43:52
在多台web服务器上共享session的问题,我们可以举一些案例来说明。比如:现在有三台php服务器,且实现了负载均衡,如何让这三台web服务器共享session数据? session数据默认是以文件的形式保存在web服务器的磁盘上,一般都是用户登录成功的时候,保存session数据。 同一个用户登录后,就会将session保存在某个web服务器上,假设是保存在服务器A上,该用户访问网站的其他页面时,可能请求的就是服务器B或服务器C,但服务器B或服务器C上并没有该用户的session文件,这样,就会导致网站误认为该用户未登录,用户的登录状态丢失的问题。 归根结底,就是要解决多台web服务器共享session的问题,尚学堂陈老师为我们简要总结了三种方法: 一、将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制,将session数据保存到客户端浏览器的cookie中,这样同一个用户访问同一网站时,无论负载均衡到哪台web服务器,都不用再去服务器请求session数据,而直接获取客户端cookie中的session数据。如此,同一个用户的登录状态就不会丢失了。 但这样做,有三大弊端: 把session数据放到客户端的cookie中,一般都是重要数据(如用户id、昵称等),会存在安全问题

软帝学院教你使用cookie法,查看最近看过的书

做~自己de王妃 提交于 2020-03-01 15:07:22
软帝学院教你 使用cookie法,查看最近看过的书 import java.io.Serializable; public class Book implements Serializable { private String id; private String name; private String price; private String auth; private String publish; private String description; public Book() { } public Book(String id, String name, String price, String auth, String publish, String description) { super(); this.id = id; this.name = name; this.price = price; this.auth = auth; this.publish = publish; this.description = description; } public String getDescription() { return description; } public void setDescription(String description) { this

周报

江枫思渺然 提交于 2020-03-01 14:59:11
C语言算法题 题目描述众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这些彗星取的名字呢?)。关于如何搭配的细节会在下面告诉你;你的任务是写一个程序,通过小组名和彗星名来决定这个小组是否能被那颗彗星后面的UFO带走。小组名和彗星名都以下列方式转换成一个数字:最终的数字就是名字中所有字母的积,其中AAA是111,ZZZ是262626。例如,USACOUSACOUSACO小组就是21×19×1×3×15=1795521 \times 19 \times 1 \times 3 \times 15=1795521×19×1×3×15=17955。如果小组的数字 mod 47 \bmod 47mod47等于彗星的数字 mod 47 \bmod 47mod47,你就得告诉这个小组需要准备好被带走!(记住“a mod ba \bmod bamodb”是aaa除以bbb的余数;34 mod 1034 \bmod 1034mod10等于444)写出一个程序,读入彗星名和小组名并算出用上面的方案能否将两个名字搭配起来,如果能搭配,就输出“GO”,否则输出“STAY”

  第 2章 简单的HTTP协议

断了今生、忘了曾经 提交于 2020-03-01 14:12:54
2.1 协议用于客户端和服务器端之间的通信 2.1 TTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始 建立通信的,服务器端在没有接收到请求之前不会发送响应。 2.2 请求报文 和响应报文 下面则是从客户端发送给某个 HTTP 服务器端的请求报文中的内容 GET /index.htm HTTP/1.1 Host: hackr.jp 请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的。 响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可 选的响应 首部字段以及实体主体构成。 HTTP/1.1 200 OK Date: Tue, 10 Jul 2012 06:50:15 GMT Content-Length: 362 Content-Type: text/html <html> ...... 在起始行开头的 HTTP/1.1 表示服务器对应的 HTTP 版本。 紧挨着的 200 OK 表示请求的处理结果的状态码(status code)和原因短语(reason-phrase)。下一行显 示了创建响应的日期时间,是首部字段(header field)内的一个属性。 接着以一空行分隔,之后的内容称为资源实体的主体(entity body)。 2.5 告知服务器意图的