php+ajax+P3P实现多域名跨域登录

近期公司项目,需要实现A域名用户与B域名用户的同步登录;
该同步登陆需求需满足以下三个关键点:
1)A域名下登陆的用户,跳转到B域名下时实现同步登陆;
2)B域名下点击A域名下的退出链接,实现A域名与B域名的同时退出
3)用户直接访问B域名时,可以自动判断A域名下是否存在用户登录,如果存在,则实现B域名下的用户同步登陆。

首先解决跨域的同步登陆登出,有以下可行的解决思路:
1)两个域共享SESSION服务器,即统一的内存服务器,这样两个域下的SESSIONID会相同,会自动无缝实现同步登陆登出;
但该解决方案需要额外的硬件投入,并且需要懂这方面部署的技术人员
2)通过url传递sessionid
3)通过P3P协议获取跨域的SESSION

为解决该需求,我经过查询各种资料,并拟定了自己的一套解决方案,分享给大家,其要点如下:
1)当用户在A域名下登录后,访问A域名下网站时,会ajax请求B域下的js脚本文件,写入B域COOKIE及SESSION,实现B域下登录;
2)当用户在A域名下退出后,访问A域名下网站时,会ajax请求B域下的js脚本文件(同登录参数不同),清除B域COOKIE及SESSION,实现B域下登出;
3)当用户直接访问B域网页时,请求A域下脚本,判断A域下是否存在登录,如果存在,则将COOKIE及SESSION赋值到当前域的网页中,通过ajax实现当前域

COOKIE及SESSION的写入。

我将baitianshi.cc设定为A域名;bstv.cc设定为B域名。

CentOS5.5下源码安装Apache2.4+PHP5.4+MySQL5.5

本文档是在网上一篇文章的基础上,通过个人安装经过,完善后的。

第一步,下载源码包;环境设置;基本服务的安装
1)下载源码包

部分文件可以在soho镜像里面下载:

http://mirrors.sohu.com/
这里默认放到服务器的/home/source目录下
以下地址如果在linux上无法通过wget获取,可以通过迅雷下载后上传到服务器。
apr:
http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz
apr-util:
http://mirror.bjtu.edu.cn/apache/apr/apr-util-1.4.1.tar.gz
pcre:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.zip
httpd:
http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.4.1.tar.gz
php5.4:
http://cn2.php.net/get/php-5.4.0.tar.gz/from/this/mirror
mysql:
http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.37.tar.gz/from/http://mysql.spd.co.il/
cmake:
http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz
点击查看原图

2)环境配置
setenforce 0

#vi /etc/sysconfig/selinux

设为disabled

3)基本服务的安装

# yum install gcc gcc-c++ glibc glibc-devel gd gd-devel zlib zlib-devel 
libtool-ltdl-devel flex  autoconf automake libxml2 libxml2-devel bison 
ncurses-devel


漫话向往

时常也曾追回,但因为知道不可能,所以只有向往,向往下一阶段能消除上一阶段所产生的苦恼;比如,幼儿的弱小,中学生的不自由,大学生的不经事等等。

这种向往,貌似一种心理的逃离,但总归,有向往还是好的。

向往这种希望的力量,似一种上帝的力量,让我们天天早起迎接金色的阳光,让我们微笑着迎接身边的你我,让我们勤勤恳恳。

这种向往,如果附带逃离痛苦的内因,那么,我们也不过是穿着华丽衣裳而内在体虚的弱小者。

佛教认定人生是苦,苦是人生的命运。

我们这种痛苦、向往、再痛苦的轮回,不过证实我们的弱小,而一旦我们“强大”了,也不过是为了炫耀上帝的的力量。

SSH连接linux服务器,root账号无法登陆(密码正确)

排查思路:
第一步,检查网络连接问题;
是否能ping通IP,是否能出现ssh登陆窗口。
如果不行,则为网络连接问题。
如果是网络连接问题,则需要检查服务器的网络设置,查看该设置下是否可以对外访问网络。
另外,还得排除网络防火墙的设置问题。
如果以上都没问题,则进入下一步:

第二步,检查服务器的ssh权限配置问题
用非root账号登陆后

#vi /etc/ssh/sshd_config

(注意是sshd_config,而不是ssh_config)
查看PermitRootLogin 参数是否为yes,如果否,则
把修改为:
PermitRootLogin yes
修改后重启sshd服务
如果该步不存在问题,则进入下一步:

第三步,检查root目录的文件写入权限问题
更多的情况是,home或root下目录磁盘空间满了。
同理,其他用户账号无法登陆,也可能是该账号下磁盘空间满了。
通过df命令查看下磁盘占用情况,如果满了,删除部分文件。
目前就知道这三种情况了。

乌兰察布的那几天

此外,还有一些没有照片的记忆: 来乌兰察布的火车上,听着火车声,喝着小酒,聊着天; 到旅馆后,我们轮流拉肚子; 我们在空旷的草原上,听着歌,漫着步; 那天晚上,我们一起认星星,看流星,分享彼此的故事,讲鬼故事,然后去尿尿; 回北京的火车上,你们终于玩不起了。

linux计划任务中svn命令执行失效的排除思路及解决

svn执行失效,无非有两方面问题:
计划任务本身问题;svn更新问题。

首先,排查是否为计划任务本身问题:

#ps -aux

查看crond进程是否存在;如果不存在,启动该服务;
如果计划任务里面有很多任务,其他任务执行,唯独svn不执行,则排除crond服务问题。

然后,查看svn服务问题:
检查svn本身是否执行;

如果执行时,需要输入用户名,密码,则解决密码验证及保存问题;

如果无误执行,将svn计划任务的执行结果输出到一个日志文件,查看输出日志内容。

#svn update /data/www/test/ &>/root/svn_test.log

如果日志里面svn: Error converting entry in directory ‘original’ to UTF-8 类似错误
则是svn版本里面包含中文编码导致的计划任务失效。

svn更新时,中文编码导致更新失败的解决办法:
对应客户端,用svn删除对应中文命名文件,并在服务器上update

APP接口开发注意事项-实践奉献

一,双方统一接口开发文档:
为了提升开发效率及沟通方便,需要建立规范的开发文档。
一般保护接口的功能或页面、接口地址、接口参数、接口返回值等说明。
我提供的参考文档格式为:

点击查看原图

二,接口数据返回考虑
1)为了双方对接数据是否正确;以及多种情况的判断,需要有接口状态参数
2)有时候为了让APP开发者明白状态含义,需要对对应状态进行文字说明
3)返回接口的内容数据;通常为数组array类型
4)当数据为空时,通过NULL告知。

门禁卡所想

点击查看原图

我在定福庄一个小区住了1年多了,小区有三个门:西门,南门和东门。

但小区比较变态的是,西边有超市、地铁站、公交站的情况下,居然也只开南门。

所以,每次出门都得走到南门,然后绕一圈到西边买东西或乘坐地铁。

内心抱怨过很久,确只能这样。

后来有一天,我和朋友贾同学回家时,偶然看到有人使用门禁卡打开了西门,然后轻松走进小区。

我以为西门开了,走近后,“得买门禁卡才能进啊!”一个尖锐的声音让我退后,并依然走以前的绕道。

得知,花10块钱办一张门禁卡就可以出入西门了。

路上,我想:10块钱一张卡,能每天来回节省近20分钟,也挺直哈。

于是我给贾同学说,“要不我们办一张吧,每天出入也不用那么费劲了。”

接下来,我们便争论起来了。

贾同学:“干嘛要办啊?!有西门,不开,居然还设置个门禁,卖门禁卡收钱。”

我:“但是我们花10块钱为我们每天省了20分钟啊”

贾同学:“花10块钱助长了这种变态的制度;我一分钱都不会花。”

我:“但是他这么规定,你改变得了吗?我只知道,他这么规定后,我买了卡可以省点时间。”

贾同学:“干嘛要买?他现在要是花10块钱买门禁出入,以后是不是还会要求你花100块钱?这简直是对变态规则的纵容!”

。。。。。。

后来不久,我就去小区物业办卡;物业办公室着实深严,要走过两道玻璃门才能进去,空旷的办公室,就一个妇女。

我很不爽的问,“为什么西门不直接打开呢?那么多人需要去西边。”

“西门有消防通道,是不开的。”她答。

我更不爽,“既然是消防通道,不能开;那为什么现在又卖门禁卡,让人出入呢?!”

“因为小区好多人要求能打开。”她理直气壮。

我无语了,我要是再问,估计又会问“那为什么不直接打开呢”,可是她已经回答过了啊。

无奈,我有了卡,也不得不接受了她的回答;不接受,无从考证,也无法改变,我就那儿一租房的。

第一次走西门的“近路”,我玩笑了下贾同学,“你不是不办卡么,怎么又跟着我的门禁卡走西门?”。

“不花钱办卡,不代表着我不从西门走啊”

“好吧,但至少这个花钱了。”

这件事挺普通的,昨晚细想了下,里面有很多疑问值得去思考,于是敲下来这篇文章。

下面以时间发生顺序,做演变思考。

三国群星闪耀之时——塔罗牌中的三国英雄

作者:马伯庸

点击查看原图

塔罗牌者,西夷秘术之根本。计有牌廿二,各具爻名,分隐寓意。卜者持若蓍草,交覆翻收,迩后觇其序位,可决阴阳,断吉凶,盖其能概览天地万物,穷尽数理命道也。今以三国英物比附之,据从演义,杂以正史,而后知中西一体,古今皆然也。

第零位 愚者

“愚者”的寓意并非愚蠢,它是一种忘怀一切,坦荡自在的自由。“愚者”并不执著于某种特定的信念,也很少在乎周围人的眼光。“别人笑我太疯癫,我笑他人看不穿”,这份洒脱有时候来自于天然的随性,有的时候则是经历了悲欢离合后的彻悟——看穿了人世间的本质,从而回归了质朴的本我境界,一如这张牌本身的数字:零。

愚者是刘禅。

毫无疑问,他是个辜负了刘备诸葛亮甚至姜维的窝囊废。但谁都不能否认,他是一个很幸福的人。细细推究的话,就会发现刘禅的人生是平淡的:除去童年时代的跌宕,他在位四十年,然后又以亡国之君的身份活了八年,太太平平地死去。刘禅的昏庸之于蜀汉,这是一个灾难;之于后世,这是个反面教材;而之于刘禅本人呢?

国家的兴衰,汉室的光复,这些对于他来说也许只是过眼浮云。亡国之君中,再没第二个如他一般恬然安静,悠然自得的了。比起勾践和李昱,刘禅是真正看开了的人。不知道他在对司马昭说“此间乐,不思蜀”的时候是一种什么心情,也许是为了逃避猜疑的掩饰,也许是发自肺腑的天性。对于愚者来说,历史的评判根本就不重要,听天由命,随遇而安吧。至于死后之詈,枯骨在冢里是听不到的。

也许我们可以曲解荀子的那句名言来送给刘禅:“生于忧患,死于安乐”。安乐公这个名号,实在是再适合他不过了。

从明天起,做一个幸福的人

喂马,劈柴,周游世界

从明天起,关心粮食和蔬菜

我有一所房子

面朝大海,春暖花开

第一位 魔术师

魔术师是神秘的,他擅长无中生有,能从最平凡的东西中变出绚丽,也能把腐朽点化成神奇,指端千变万化。在他们面前,我们只能当惊叹的观众,一次又一次折服于那翻飞的双手中的无穷花样。这张牌代表的是智慧,那种闪耀着光芒的理性。

很少有人能象郭嘉这样给人一种纯粹的感觉,那种纯净透明不羼一丝杂质的智慧,就好象一位面对着乱世微笑的年轻魔术师。魔术师的牌面有冷静判断和巧妙手腕的寓意,这是为郭嘉完美度身而造的。

他不象荀彧一样参与曹操的政治构想,也不象程昱一样身秉军政之职。他的责任,就是用自己的才能引导军队走向胜利。一次又一次向世人展现魔术师般奇妙,让人瞠目惊舌。无论史书还是演义,我们都能觉察到郭嘉唇边那一抹自得的微笑,历经千年而毫不褪色。