CAS的php客户端实践—单点登录整合php程序
近日尝试将一个php程序以单点登录方式和原有的系统整合在一起。
验证服务器选用的是CAS,其提供有相应的php客户端。
整个过程如下:
1、搭建CAS服务器
2、搭建php应用环境
3、下载相应的php库
4、修改php应用环境配置
5、测试cas的php客户端
6、修改原有的程序,使用CAS来完成登录。
具体细节如下:
一、搭建CAS服务器
这个比较简单,网上文章也比较多,我就不罗嗦了。基本步骤为:1、制作签名 2、打开SSL 3、部署CAS服务 4、利用cas的java客户端拦截应用。
二、搭建php应用环境
现在流行的组合是apache+php4+mysql.大家可以搜索相关资料。而且在windows环境下,有几个整合了三个的傻瓜服务程序如:APMXE、XAMPP、easyphp等,大家可以下载下来,直接运行即可,不用在自己去配置了。
三、下载相应的php库
要想在php环境下连接CAS服务,就必须有php下的客户端。而在CAS的网站上提供有相应的客户端库下载phpcas-0.6.0-RC7.zip.
该客户端使用了PEAR库,所以还得下载PEAR及PEAR的DB库。因为其也使用了SSL,所以还得下载openssl。
下载完成后将,安装openssl。并将三个php库,分别解压到php的includes目录下(其实目录可以自行定义)。
四、修改php的应用环境配置
1、修改php.ini文件中的include_path,将三个库的目录加入到搜索路径中(使用";"隔开)
2、检查php.ini文件中的extentions看curl和domxml是否打开,如果没有请打开,phpcas使用了curl来连接ssl。
3、检查一下php引擎的extentions目录看有没有对应的dll(与php.ini文件中的文件名一样)。如果没有的话就从比较完整的php4中拷贝吧。(一般会有的除非你的php引擎是被人精简的)
五、测试一下cas的php客户端
将phpcas-0.6.0-RC7.zip中的docs目录下的examples的example_simple.php解压到apache的htdocs下。
启动apache服务。
在浏览器中访问example_simple.php程序。如果看到登录界面,并且登录完毕后,回到example_simple.php下,并输出了你的用户名。则表示一切ok了。
相关文档:
<?php
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
//例子
//开始
$time_start = getmicrotime();
//这里放你的代码
......
在PHP中修补XSS漏洞,我们可以使用三个PHP函数。
这些函数主要用于清除HTML标志,这样就没办法注入代码了。使用更多的函数是htmlspecialchars() ,它可以将所有的"<"与">"符号转换成"<" 与">;"。其它可供选择的函数还有htmlentities(), 它可以用相应的字符实体(entities)替换掉所有想要替换掉的特征码(cha ......
header("Expires: Mon, 26 Jul 2007 05:00:00 GMT"); 缓存失效时间
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 最后修改网页的时间
header("Cache-Control: no-cache, must-revalidate"); 禁用缓存
header("Pragma: n ......
< type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
......
一:结构和调用(实例化):
class className{} ,调用:$obj = new className();当类有构造函数时,还应传入参数。如$obj = new className($v,$v2...);
二:构造函数和析构函数:
1、构造函数用于初始化:使用__construct(),可带参数。
2、但析构函数不能带参数(用于在销去一个类之前执行一些操作或功能)。析构函数用 ......