理论上php不可以跨域设置cookie;php设置cookie流程:返回的信息携带信息,然后靠浏览器来执行写入到cookie,一般浏览器安全机制已经限制跨域写入;如果你想伪造cookie,可以使用浏览器管理cookie的插件。
- 数码问答
- 答案列表
oss 跨域设置:cors跨域设置[朗读]
打开ie浏览器,在工具菜单下选择internet选项,打开internet选项卡切换到安全选项卡下,点击可信站点,然后单击站点按钮可信站点窗口输入网址到可信站点的区域,点击添加按钮,网址则会添加到网站列表下,最后关闭可信站点窗口还是在安全选项卡下的可信站点,点击自定义级别打开受信任的站点区域窗口,找到跨域浏览窗口和框架选择启用在当前窗口中继续往下翻,通过域访问数据源也选择启用,点击确定关闭受信任的站点区域窗口在internet窗口也点击确定按钮,同时关闭浏览器在请求的js脚本中添加是否允许跨域访问的权限,jquery.support.cors默认值为true,则代表允许;反之,不允许.设置完成,重新打开浏览器验证即可。
httpclient提供了对ssl的支持,在使用ssl之前必须安装jsse.在sun提供的1.4以后的版本中,jsse已经集成到jdk中,如果你使用的是jdk1.4以前的版本则必须安装jsse.jsse不同的厂家有不同的实现.下面介绍怎么使用httpclient来打开https连接.这里有两种方法可以打开https连接,第一种就是得到服务器颁发的证书,然后导入到本地的keystore中;另外一种办法就是通过扩展httpclient的类来实现自动接受证书.具体参考http://www.ibm.com/developerworks/cn/opensource/os-httpclient/?
首先一点,你要明白session的大部分实现都是通过cookie的,所以跨域session是不可能的.但跨域的认证还是可以有oauth等实现方法,但不太推荐oauth项目貌似烂尾了,随然大家都在用.其次虽然跨域有点难,但放在同一域下的不同项目是可以共享session的,cas也不算复杂,你可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时.再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异.综上,你的想法完全可行。
解决ajax跨域问题方法1:在服务器端直接设置header内容:access-control-allow-origin:*或者access-control-allow-origin:允许访问的url这样就可以直接请求到任何网站或者允许访问的urlphp程序这样写:header('access-control-allow-origin:*');或者header('access-control-allow-origin:允许访问的url');方法2:在nginx设置”头信息“直接添加access-control-allow-origin:*的信息。