当前位置: 首页 > 编程日记 > 正文

php跨域共享session

$gb_DBHOSTname = "127.0.0.1"; //主机的名称或是IP地址
02
$gb_DBname = "dbname"; //数据库名称
03
$gb_DBuser = "username"; //数据库用户名称
04
$gb_DBpass = "pwd"; //数据库密码
05
$gb_COOKIE_DOMAIN = '.a.com';
06
$SESS_DBH = "";
07
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime"); //得到session的最大有效期。
08session_id(); //不使用 GET/POST 变量方式
09
ini_set('session.use_trans_sid', 0); //设置垃圾回收最大生存时间
10
ini_set('session.gc_maxlifetime', 13600); //使用 COOKIE 保存 SESSION ID 的方式
11
ini_set('session.use_cookies', 1);
12
ini_set('session.cookie_path', '/'); //多主机共享保存 SESSION ID 的 COOKIE
13
ini_set("session.cookie_domain", $gb_COOKIE_DOMAIN);
14
//将 session.save_handler 设置为 user,而不是默认的 files session_module_name('user');
15
function sess_open($save_path, $session_name) {
16global $gb_DBHOSTname, $gb_DBname, $gb_DBuser, $gb_DBpass, $SESS_DBH;
17if (!$SESS_DBH = mysql_pconnect($gb_DBHOSTname, $gb_DBuser, $gb_DBpass)) {
18die('MySQL Error');
19}
20mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary", $SESS_DBH);
21if (!mysql_select_db($gb_DBname, $SESS_DBH)) {
22die('MySQL Error');
23}
24return true;
25
}
2627
function sess_close() {
28global $SESS_DBH;
29//$SESS_DBH->Close();
30return true;
31
}
3233
function sess_read($key) {
34global $SESS_DBH, $SESS_LIFE;
35
//      var_dump($SESS_DBH);
36$qry = "select session_data from sessions where session_id = '$key' ";
37$qid = mysql_query($qry, $SESS_DBH);
38
//      var_dump($qid);
39if (list ($value) = mysql_fetch_row($qid)) {
40return $value;
41}
42return false;
43
}
4445
function sess_write($key, $val) {
46global $SESS_DBH, $SESS_LIFE;
47$session_last_access = time();
48$value = $val;
49$qry = "insert into  sessions values('$key',$session_last_access,'$value')";
50$qid = mysql_query($qry, $SESS_DBH);
51if (!$qid) {
52$qry = "update sessions set session_last_access=$session_last_access, session_data='$value' where session_id='$key' ";
53$qid = mysql_query($qry, $SESS_DBH);
54}
55return $qid;
56
}
5758
function sess_destroy($key) {
59global $SESS_DBH;
60$qry = "delete from sessions where session_id = '$key'";
61$qid = mysql_query($qry, $SESS_DBH);
62return $qid;
63
}
6465
function sess_gc($maxlifetime) {
66global $SESS_DBH;
67$old = time() - $maxlifetime;
68$old = mysql_real_escape_string($old);
69$qry = "delete from sessions where session_last_access < " . $old;
70$qid = mysql_query($qry, $SESS_DBH);
71return mysql_affected_rows($SESS_DBH);
72
}
73
session_module_name();
74
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write","sess_destroy", "sess_gc");
75
session_start();

相关文章:

centos6 防火墙iptables操作整理

使用语句 前言: iptables的启动文件位置再: /etc/init.d/iptables , srevice iptables调用的就是这里的执行文件 查看防火墙状态 service iptables status开启防火墙 service iptables start 关闭防火墙 service iptables stop永久关闭防火墙(开机不启动) chkconfig i…

分布式计算开源框架Hadoop入门实践

在SIP项目设计的过程中&#xff0c;对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计&#xff0c;在我从前写的文章《Tiger Concurrent Practice --日志分析并行分解设计与实现》中有所提到。但是由于统计的内容暂时还是十分简单&#xff0c;所以就采用M…

网络配置文件、命令详解

一、网络服务、配置文件二、ifconfig常用命令三、route常用命令四、ip命常用命令五、其他一、网络服务、配置文件修改网络服务配置文件不会立即生效&#xff0c;重启网络服务或主机后生效且永久有效1、配置文件1.1、网络配置文件&#xff1a;/etc/sysconfig/network[rootTESTHO…

面了一个大佬,一看就背了很多面试题

2021都说工作不好找&#xff0c;其实也是对开发人员的要求变高了。正好前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档&#xff08;1000道高频题&#xff09;&#xff0c;同时也整理一些图文解析及笔记。今天在这免费分享给大家&#xff0c;希望大…

swift的特点

swift与OC的区别&#xff1a; swift是一门强语言&#xff0c;而OC是一门弱语言。强语言比弱语言更加严谨 每写一行代码系统都会自动检测是否有错误&#xff0c;这样就减少了运行后出错的可能。swift支持开源&#xff0c;所以可以引用到其他语言开发的项目中&#xff0c;OC是闭源…

Apache模块开发helloworld无错版

环境&#xff1a;CentOS 5.4 第一步&#xff1a;安装Apache的apxs 首先来介绍下apache的一个工具apxs。apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具&#xff0c;用于编译一个或多个源程序或目标代码文件为动态共享对象&#xff0c;使之可以用由mod_so提供的LoadM…

Golang+Python 实现安全动态开机密码+服务器存储

作者 | 李秋键 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 引言&#xff1a; 如果谈到近几年来新起的语言&#xff0c;必然离不开Python语言和Go语言&#xff0c;正如python在人工智能领域的发展火热&#xff0c;Go语言在服务器并发处理也有着非常优势。 Go语言…

《中国顶尖技术团队访谈录·第二季》发布

卷首语&#xff08;InfoQ中国总编辑 崔康&#xff09;\\在提笔写这篇卷首语的时候&#xff0c;我们刚刚为InfoQ中国过完八岁生日。回溯到2007年的3月28日&#xff0c;InfoQ中文站正式上线运营&#xff0c;从此中国的IT技术人有了一个崭新的学习和成长的平台&#xff0c;InfoQ中…

record-09 ATM 过程思想 综合练习

#__author: hasee #date: 2018/1/16 # user_info.txt包含内容&#xff1a; # zhangsan1 123456 3500 # zhangsan2 123456 4000 # zhangsan3 123456 4500 # zhangsan4 123456 5000 # zhangsan5 123456 5500 # zhangsan6 123456 6000 # zhangsan7 123456 6500 # zhangsan8 12345…

在ApacheHTTPD服务器中使用DSO完全分析

Apache HTTP 服务器是一个模块化&#xff08;或说积木式&#xff09;的程序&#xff0c;管理员可以选择一些模块来增加服务器的某些功能。这些模块&#xff0c;可以在创建服务器程序时静态地编译到httpd服务器的二进制代码中&#xff0c;也可以编译成一些独立于服务器程序的Dyn…

apache 2.4.12 + tomcat 7.0.61 + jk connectors 1.2.40实现tomcat负载均衡集群

实验环境&#xff1a; CentOS 5.11 final hostname&#xff1a;T1.getg.com IP地址&#xff1a;192.168.50.138软件准备&#xff1a; CentOS Linux 5.*系统光盘中的“Development tools”工具包组 jdk-8u45-linux-x64.tar.gz pcre-8.36.tar.gz apr-util-1…

有哪些新手程序员不知道的小技巧?

提到新手程序员&#xff0c;大家想到的第一个词可能就是&#xff1a;刷题。尤其是通过LeetCode刷题&#xff0c;想必新手程序员们都经历过这一步&#xff0c;甚至不少人认为只要在LeetCode上刷的题目够多&#xff0c;就一定能够进阶为大神。但是&#xff0c;不难发现&#xff0…

cocostudio UI编辑器中UITextField输入框控件光标

http://www.cocoachina.com/bbs/read.php?tid194533

在apache中使用 memcache 来作 session 存储

session.save_handler memcache session.save_path "tcp://127.0.0.1:11211" 使用多个 memcached server 时用逗号","隔开&#xff0c;并且和 Memcache::addServer() 文档中说明的一样&#xff0c;可以带额外的参数"persistent"、"weigh…

Android WebView访问SSL证书网页(onReceivedSslError)

Android WebView访问https SSL证书网页&#xff0c;如淘宝&#xff0c;需要在onReceivedSslError添加SSL支持 webview.setWebViewClient(new WebViewClient() {Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {// 不要使用su…

改名 Meta,打元宇宙牌,老龄化的 Facebook 能否再换新颜

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 美东时间10月28日周四&#xff0c;在名为 Facebook Connect 的年度大会上&#xff0c;Facebook 宣布&#xff0c;Facebook 将公司名称更改为“Meta”&#xff0c;这个新名字反映了该公司在社交媒体之外…

Android NDK开发之旅31 FFmpeg音频解码

###前言 #####基于Android NDK开发之旅30--FFmpeg视频播放这篇文章&#xff0c;我们已经学会视频解码基本过程。这篇文章就对音频解码进行分析。 #####音频解码和视频解码的套路基本是一样的&#xff0c; 否则怎么会做到音视频同步播放呢&#xff1f; ###1.FFmpeg音视解码过程分…

整理了 65 个 Matplotlib 案例,这能不收藏?

作者|周萝卜来源|萝卜大杂烩Matplotlib 作为 Python 家族当中最为著名的画图工具&#xff0c;基本的操作还是要掌握的&#xff0c;今天就来分享一波文章很长&#xff0c;高低要忍一下&#xff0c;如果忍不了&#xff0c;那就收藏吧&#xff0c;总会用到的。启用和检查交互模式在…

负载均衡工具haproxy安装,配置,使用

一&#xff0c;什么是haproxy HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理&#xff0c;支持虚拟主机&#xff0c;它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运…

【文章】本站收集与转载文章目录

1.关于推荐系统中的特征工程 2.Java程序员最喜欢的11款免费IDE编辑器 3.人工智能和机器学习领域的一些有趣的开源项目 4.微软发布Project Oxford&#xff0c;供Azure户免费集多项功能 5.微软推Azure机器学习工具&#xff1a;Algorithm Cheat Sheet

L09-10老男孩Linux运维实战培训-Nginx服务生产实战应用指南05(架构解决方案)

nginx的多实例设置首先说一下nginx后面加的参数的说明 -s 后面加reload 就是重新加载的意思和apache的graceful同样的效果 -v 小写的v显示版本号后退出 -V大写的V显示nginx的版本号和配置环境 -t 就是test的意思&#xff0c;检查配置文件是否正确 -c 后面配置文件的地址&#x…

linux中的apachectl是什么命令

apachectl是Apache HTTP服务器的前端程序。其设计意图是帮助管理员控制Apache httpd后台守护进程的功能。apachectl脚本有两种操作模式。首先&#xff0c;作为简单的httpd的前端程序&#xff0c;设置所有必要的环境变量&#xff0c;然后启动httpd &#xff0c;并传递所有的命令…

数据库性能优化1——正确建立索引以及最左前缀原则

1. 索引建立的原则用于索引的最好的备选数据列是那些出现在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。仅仅出现在SELECT关键字后面的输出数据列列表中的数据列不是很好的备选列SELECTcol_a <- 不是备选列FROMtbl1 LEFT JOIN tbl2ON tbl1.col_b tbl2.col_c <-…

深度学习发展下的“摩尔困境”,人工智能又将如何破局?

前不久&#xff0c;微软和英伟达推出包含5300亿参数的语言模型MT-NLG&#xff0c;这是一款基于 Transformer 的模型被誉为“世界上最大、最强的生成语言模型”。 毫无疑问&#xff0c;这是一场令人印象深刻的机器学习工程展示。 然而&#xff0c;我们是否应该对这种大型模型趋势…

Kotlin学习笔记-基础语法

去年学习过一遍Kotlin&#xff0c;相比java而言&#xff0c;Kotlin确实有许多方便的地方&#xff0c;但是学习之后一直没有真正拿来写项目&#xff0c;很久不用很多东西都已经忘记了。最近Google宣布Kotlin成为Android开发的官方语言之后&#xff0c;Kotlin突然变得火热起来&am…

英特尔王锐:软硬件并驾齐驱,开发者是真英雄

北京时间10月28日&#xff0c;英特尔On技术创新峰会在北京举办。在此次峰会上&#xff0c;英特尔公司高级副总裁、英特尔中国区董事长王锐对外宣告了英特尔拥抱开发者&#xff0c;回归技术创新的决心和信心。 英特尔此前提出&#xff0c;四大超级技术力量赋能数字化的变革&…

基于html5海贼王单页视差滚动特效

分享一款基于html5海贼王单页视差滚动特效是一款流行滑落网页特效代码。效果图如下&#xff1a; 在线预览 源码下载 实现的代码&#xff1a; <div class"top"><div class"top_main center"><ul id"scene" class"scene&quo…

切换apache的prefork和worker模式

Apache HTTP服务器被设计为一个强大的、灵活的能够在多种平台以及不同环境下工作的服务器。 不同的平台和不同的环境经常产生不同的需求&#xff0c;或是为了达到同样的最佳效果而采用不同的方法。 Apache凭借它的模块化设计很好的适应了大量不同的环境。 这一设计使得网站管理…

使用adb devices命令无法识别夜神模拟器的解决方法

模拟器不喜欢原生态的&#xff0c;喜欢简单好用的&#xff0c;这里用的是夜神模拟器现象夜神模拟器启动成功&#xff0c;此时用adb devices命令查看&#xff0c;居然啥都不显示&#xff0c;也就是没识别出来分析很大可能是因为adb的版本不一致导致的&#xff0c;心中无数个草泥…

Apache的prefork模式和worker模式

prefork模式 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器&#xff0c;它的工作方式类似于Apache 1.3。它适合于没有线程安全库&#xff0c;需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM&#xff0c;这样若一个请求出现问题就…