ThinkPHP框架实现session跨域问题的解决方法
ThinkPHP的session跨域问题很多开发者都遇到过!
其实不管是ThinkPHP还是php本身,在解决session跨域问题的时候都需要设置session.cookie_domain。
在ThinkPHP里,需要修改配置文件conf/config.php
在第一行加上:
ini_set('session.cookie_domain', ".domain.com");//跨域访问Session
经过总结,针对session跨域这一问题的解决方法主要有以下几种:
第一种情况:如果你目录下没有.htaccess这个文件,也就是没有采取url伪静态的话,那么,你在conf/config.php的第一行加上:
ini_set('session.cookie_domain',".domain.com");//跨域访问Session
这种如果你开启了调试,可能用!但关闭了调试,可能就不管用了!
第二种情况:如果你目录下有.htaccess这个文件,那么你在根目录,index.php的第一行加入:
<?php ini_set('session.cookie_domain',".domain.com");//跨域访问Session // 定义ThinkPHP框架路径 define('THINK_PATH', '/ThinkPHP/'); //定义项目名称和路径 define('APP_NAME', 'Www'); define(‘APP_PATH', '.'); // 加载框架入口文件 require(THINK_PATH."/ThinkPHP.php"); //实例化一个网站应用实例 App::run(); ?>
这种方法不管开不开启调试都管用!
相关推荐
-
php jq jquery getJSON跨域提交数据完整版
前端请求端: 复制代码 代码如下: <script> $(function() { $.getJSON('http://test.com/aa.php?callback=?',{classid:1,num:2},function(json){ alert(json.key); }); }); </script> 被请求端: 复制代码 代码如下: $classid=$_GET['classid']; $num=$_GET['num']; if($classid&&$n
-
PHP中运用jQuery的Ajax跨域调用实现代码
可以在页面定义一个调用方法,如下: 复制代码 代码如下: function getData(){ $.getJSON("http://123.123.123.123/?callback=?", { "m":"data",// 指定php的文件名字 "act":"getdata",// 指定php文件中的方法 "name":"问题儿童"// 传入的参数 }, funct
-
php跨域cookie共享使用方法
A 机器所在的域:a1.main.com,A 有应用 main.phpB 机器所在的域:b1.test.com,B 有应用 test.php 1.在 main.php 里设置 cookie 的时候, cookie 的设置方法如下: 复制代码 代码如下: setcookie( "TestCookie", "okol", time() + 3600, "/", "b1.test.com", 1 ); 这样在 test.php
-
两种简单的跨域方法(jsonp、php)
Ajax不能跨域,比如您是www.baidu.com,您就不能请求www.163.com的文件.但您可以请求www.baidu.com/1.json.ent.baidu.com/1.json.这是因为安全原因,对于任何后台语言来说.服务器程序来说,所有的XHR类型的请求,如果来自其他的服务器,将不予应答. 一.使用jsonp JSONP是JSON with Padding的略称.它是一个非官方的协议,出处不可考,它允许在服务器端集成Script tags返回至客户端,通过javascript c
-
使用JSON实现数据的跨域传输的php代码
后台profile.php代码: 复制代码 代码如下: <?php $arr = array( 'firstname' => iconv('gb2312', 'utf-8', '非诚'), 'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 'contact' => array( 'email' =>'fcwr@jb51.net', 'website' =>'http://www.jb51.net', ) ); //将一个数组JS
-
浅析php中jsonp的跨域实例
我们现在www.test.com这个域名下面有这么个html文件testjsonp.html: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm
-
php跨域调用json的例子
JSON和XML没什么太大区别,不过JSON有一个更大范围的应用,那就是,跨域的数据调用.由于安全性问题,AJAX不支持跨域调用,这样要调用不同域名下的数据,很麻烦.下面这个例子,足以展示php用json如何进跨域调用了. index.html 复制代码 代码如下: <script type="text/javascript"> function getProfile(str) { var arr = str; document.getElementBy
-
PHP如何利用P3P实现跨域
有别于JS跨域.IFRAME跨域等的常用处理办法,还可以利用P3P来实现跨域. P3P是什么P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护. P3P标准的构想是:Web 站点的隐私策略应该告之访问者该站点所收集的信息类型.信息将提供给哪些人.信息将被保留多少时间及其使用信息的方式,如站点应做诸如 "本网站将监测您所访问的页面以提高站点的使用率"或"本网站将尽可能为您提供更合适的广告"
-
PHP如何实现跨域
因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 这是因为浏览器跨域策略起作用,阻止了
-
PHP防止跨域提交表单
在写用户注册的时候,一定要主要你的表单是否可以跨域提交.php中解决的方法:1.除了在页面做好表但验证之外,还要在提交的服务段的数据进行验证.验证的主要代码如下: 复制代码 代码如下: $servername=$_SERVER['SERVER_NAME'];//当前运行脚本所在服务器主机的名字. $sub_from=$_SERVER["HTTP_REFERER"];//链接到当前页面的前一页面的 URL 地址 $sub_len=strlen($servername);//统计服务器
随机推荐
- 使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
- 如何将Oracle的一个大数据表快速迁移到 Sqlserver2008数据库(图文教程)
- javascript格式化json显示实例分析
- Java中使用开源库JSoup解析HTML文件实例
- Java线程池使用与原理详解
- c#将Excel数据导入到数据库的实现代码
- asp.net core集成kindeditor实现图片上传功能
- 用PHP提取中英文词语以及数字的首字母的方法介绍
- PHP Imagick完美实现图片裁切、生成缩略图、添加水印
- php错误提示failed to open stream: HTTP request failed!的完美解决方法
- asp下同一空间多绑多哥域名的方法
- jQuery第三课 修改元素属性及内容的代码
- JSP页面中超链接传递中文参数出现乱码问题解决方法
- jQuery弹出窗口简单实现代码
- N点主机管理系统的重装步骤(图文)
- CMD命令操作MSSQL2005数据库(命令整理)
- jquery复选框checkbox实现删除前判断
- js tab效果的实现代码
- js跨域请求的5中解决方式
- Java实例化一个抽象类对象的方法教程