Archive for the ‘PHP’ Category

Amfphp简介

Wednesday, May 14th, 2008

Amfphp 是PHP的RPC工具,它可以使PHP与下述技术无缝通信:

  • Flash 和 Flex Remoting
  • JavaScript JSON 和 Ajax JSON
  • XML 和XML-RPC

一、什么是RPC?

远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法 ,设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的, 就像我们在调用本地方法一样.

二、工作原理

客户端(Flash)与服务器端(php), 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行:

  • 反序列化请求
  • 找到相应的远程服务类
  • 实例化类
  • 执行安全检查
  • (使用指定参数)调用服务器端方法
  • 序列化返回的数据

Amfphp 可以正确地序列化、反序列化复杂类型数据。除了对象和数组,它还支持resources 数据连接资源,这就意味着我们可以通过调用远程方法简单返回mysql_query,amfphp 会处理这一切。 如果平台支持 (目前来说,Flash Remoting 和Flex Remoting), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个服务浏览器,它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板,可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。详见http://www.riafan.com/article.asp?id=31

三、教学资源

1. 英文

2. 中文

在x64的机器上编译PHP+GD的时候需要注意一下

Monday, November 12th, 2007

可能在config结束后会提示:

configure: error: libjpeg.(a|so) not found
configure: error: libjpng.(a|so) not found

错误,那么请在configure前执行如下的命令:

cp -frp /usr/lib64/libjpeg.* /usr/lib/
cp -frp /usr/lib64/libpng* /usr/lib/
因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64

安装GD库

Tuesday, October 23rd, 2007

安装libpng
www.libpng.org/pub/png/libpng.html
./configure –prefix=/usr/local
make && make install

安装jpegv6b
http://www.ijg.org/files/
cp /usr/share/libtool/config.guess .
cp /usr/share/libtool/config.sub .
./configure –prefix=/usr/local –enable-shared –enable-static
make && make install

安装FreeType2
http://www.freetype.org/
./configure –prefix=/usr/local
make && make install

安装GD Library
http://www.libgd.org/Main_Page
./configure \
LDFLAGS=”-L/usr/lib64 -L/lib64″ \
–prefix=/usr/local/gd \
–with-jpeg=/usr/local \
–with-png=/usr/local \
–with-zlib=/usr/local \
–with-freetype=/usr/localmake && make install

PHP脚本木马的高级防范

Wednesday, August 29th, 2007

打开safe_mode,在php.ini中设置 disable_functions= passthru,
exec,shell_exec,system 二者选一即可,也可都选 
在php.ini中的 disable_functions= passthru,exec,shell_exec,system 后面
加上php处理文件的函数,防止木马被运行
防止php木马读写文件目录

主要有
fopen,mkdir,rmdir,chmod,unlink,dir
fopen,fread,fclose,fwrite,file_exists
closedir,is_dir,readdir.opendir
fileperms.copy,unlink,delfile
即成为

disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,
rmdir,chmod,unlink,dir ,fopen,fread,fclose,fwrite,file_exists,
closedir,is_dir,readdir.opendir ,fileperms.copy,unlink,delfile