以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]同域名不同端口的cookie获取与设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157245)

--  作者:Shily
--  发布时间:2020/10/9 16:59:00
--  [求助]同域名不同端口的cookie获取与设置
之前对后台A和B的产品进行了关联,今天需要新添加一个功能,就是在A后台中关联到B后台的产品时,可以点击产品ID,跳转到B后台的产品信息页面
现在就有一个问题是,当我并没有事先登录B后台的时候,在A中点击跳转时怎么去判断B后台目前的cookie为空,以及当cookie为空时怎么从A后台点击跳转时,发送账号密码保存到B后台的cookie中
因为是域名相同,端口号不同,所以我百度了相关内容,有看到说cookie区分域,而不区分端口,也就是说,同一个ip下的多个端口下的cookie是共享的
但是在这边的两个网站中都是只有各自的一条cookie信息,两边的键是一样的,username和password
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/10/9 17:09:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于跨域使用.zip



--  作者:Shily
--  发布时间:2020/10/9 17:34:00
--  
有点不太明白。我是A网站的内容点击之后跳转到B网站对应的子页面,那么在这里我的服务器端是B网站吗所以在B的httprequest事件里面添加以下代码
设置指定地址可跨域访问,这样设置:
e.Response.AddHeader("Access-Control-Allow-Origin", "A网站地址")  
e.Response.AddHeader("Access-Control-Allow-Credentials", "true")  
e.Response.AddHeader("Access-Control-Allow-Methods", "OPTIONS,GET,POST,PUT,PATCH,DELETE")  
Access-Control-Allow-Origin设置为对方的访问地址,含端口。设置后则只允许这个地址访问请求数据


--  作者:wei0769
--  发布时间:2020/10/9 17:40:00
--  
图片点击可在新窗口打开查看
--  作者:Shily
--  发布时间:2020/10/9 17:46:00
--  
但是这个设置了跨域访问请求数据,我要怎么获取到这里的cookie,以及cookie不存在时,我A跳转过来会到登录界面,这是我不希望的
所以我要要在跳转时判断cookie存在,如果不存在然后将值设置到B的cookie中

--  作者:有点蓝
--  发布时间:2020/10/10 8:38:00
--  

当前端请求的凭据模式为include时,响应地址中的Access-Control-Allow-Origin标头的值不能使用通配符 "*"
如在请求定义中设置withCredentials标志,则会在请求中传递cookie等,那么服务端必须返回Access-Control-Allow-Credentials: true,否则将不会在客户端上创建 cookie。如果你这样设置,你需要同时指定了确切的Access-Control-Allow-Origin响应头,即指定具体的请求地址。(当请求中携带cookie, Access-Control-Allow-Origin必须要有确切的指定, 不能是通配符(*), withCredentials是跨域安全策略的一个东西)


由于weui框架的XMLHttpRequest并没有设置withCredentials标志,所以需要自行定义ajax,或者手工修改weui.me.js文件里涉及到XMLHttpRequest的用法,比如submitAjaxData函数,自己加上withCredentials标志,如:

var http=new XMLHttpRequest();

http.withCredentials = true;


https://www.baidu.com/baidu?word=withCredentials


--  作者:Shily
--  发布时间:2020/10/10 15:50:00
--  
请问我现在想要添加两条cookie记录,centsol和username为两条记录的Name,而不是全在一条
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/10/10 15:58:00
--  
使用wb.AppendCookie:http://www.foxtable.com/mobilehelp/topics/0042.htm

或者自行使用js写cookie

--  作者:Shily
--  发布时间:2020/10/10 16:05:00
--  
目前是这样的,没有用weui框架写呢,我刚百度的一个用httpCookie的方法,报错是httpCookie未定义,有这个东西吗?需要引用什么吗
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/10/10 16:13:00
--  
foxtable没有httpCookie这种东西。

其实在浏览器里分一个还是2个显示对实际使用应该没有什么影响的。