ecshop:DEBUG_MODE在后台图片上传fckeditor的错误

因为 includes\fckeditor\editor\filemanager\connectors\php\upload.php 没有执行 init.php 所以 DEBUG_MODE变量没赋值,所以
导致 http://域名/includes/fckeditor/editor/filemanager/connectors/php/upload.php?Type=ImageImage 出错
显示为 lib_base.php 的read_static_cache 和 write_static_cache 函数为定义DEBUG_MODE 常量
所以保险的办法是在 upload.php 第一行加入

define(‘DEBUG_MODE’, 0);

这个错误的表现行为是: 上传图片可以正常上传,但是进度条图片一直滚动, 原因就是输出了错误提示,导致

windows 本地安全策略 命令行方法

XP下的ipseccmd.exe 需要下载先,请自行google ,关键词 “ipseccmd 下载” ,或者到 http://ishare.iask.sina.com.cn/f/7579277.html下载

下面文章建议看下http://microsoft.cnfan.net/winsystem/3692.html  和 http://technet.microsoft.com/en-us/library/cc739550(WS.10).aspx#BKMK_add_rule

本博客主要目的是 屏蔽 某些ip段对本机80端口的访问,比较适用于windows服务器(如果是windows 2003 ,命令行相应的应该是 ipsec.exe )
命令如下

ipseccmd.exe -w reg -p "phpsir ipsec" -o
ipseccmd.exe -w reg -p "phpsir ipsec" -r "block lijin 1.1" -f 1.1.*.*=*:80:TCP -n BLOCK
ipseccmd.exe -w reg -p "phpsir ipsec" -r "block lijin 2.2" -f 2.2.*.*=*:80:TCP -n BLOCK
ipseccmd.exe -w reg -p "phpsir ipsec" -y

win2003/win7的netsh 方法

netsh ipsec static set policy name="phpsir-deny-policy" assign=n
netsh ipsec static delete policy name="phpsir-deny-policy"

netsh ipsec static add policy name="phpsir-deny-policy"
netsh ipsec static add filteraction name="phpsir-deny" action=block

netsh ipsec static add filter filterlist="deny 1.1.1.1" srcaddr=1.1.1.1 srcport=0 dstaddr=me dstport=0 protocol=0 mirrored=yes
netsh ipsec static add filter filterlist="deny 2.2.2.2" srcaddr=2.2.2.2 srcport=0 dstaddr=me dstport=0 protocol=0 mirrored=yes 

netsh ipsec static add rule name="11111" policy="phpsir-deny-policy" filterlist="deny 1.1.1.1" filteraction="phpsir-deny"
netsh ipsec static add rule name="22222" policy="phpsir-deny-policy" filterlist="deny 2.2.2.2" filteraction="phpsir-deny"   

netsh ipsec static set policy name="phpsir-deny-policy" assign=y

ecshop的ucenter同步登陆uc.php 一点错误勘误

在ecshop的会员整合ucenter的set_cookie函数有问题
文件在 /api/uc.php 搜索 set_cookie

function set_cookie($user_id=”, $user_name = ”, $email = ”)
{
if (empty($user_id))
{
/* 摧毁cookie */
$time = time() – 3600;
setcookie(‘ECS[user_id]‘, ”, $time);//这里有问题
setcookie(‘ECS[username]‘, ”, $time);//这里有问题
setcookie(‘ECS[email]‘, ”, $time);//这里有问题
}
else
{
/* 设置cookie */
$time = time() + 3600 * 24 * 30;
setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
}
}

因为假设这样的架构
http://域名/ 是 ecshop ,http://域名/bbs/ 为论坛dzX2, 那么,在ec登陆后,dzX2 点退出,
会发送一个javascript申请到 /api/uc.php的 logout请求 ( 如果setcookie 只是在 /bbs/ 下 设置cookie 为空,那么就清空不了cookie
严格的应该是
setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);

那么代码可以修改为

还有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php
如图两部分


另外还要看 这一篇
http://www.phpsir.com/ucenter-sync.html

curl 检查服务器是否支持 gzip

http://www.ninjasys.co.uk/linux/using-curl-to-check-if-a-page-is-gzippedcompressed/

方法如下

curl -I -H 'Accept-Encoding: gzip,deflate' -H "Host:域名"  http://ip/url
如果结果是
HTTP/1.1 200 OK
Server: nginx/0.8.52
Date: Tue, 05 Jul 2011 01:28:30 GMT
Content-Type: application/x-javascript
Last-Modified: Tue, 10 Aug 2010 00:33:24 GMT
Connection: keep-alive
Vary: Accept-Encoding
Expires: Thu, 04 Aug 2011 01:28:30 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip  很好支持

如果没有 Content-Encoding: gzip 就不支持gzip

64位linux安装vsftpd虚拟用户的几点注意

  1. auth required /lib64/security/pam_userdb.so db=/etc/vsftpd_login  注意红色部分!!!
  2. 如果出现登陆503错误,请看 tail -f /var/log/secure 以确定具体是否是因为pam登陆验证的问题
  3. 注意权限方面问题,
  4. google 最好搜索英文 vsftpd virtual user
  5. http://linuxforfun.net/2008/04/05/vsftpd-virtual-users/  可以参考下

phpwind 的一个小错误导致cookie失效的解决,表象是无法注册登录

一个phpwind 8.0 utf8 系统错误表现为无法注册登录,费老劲调试,发现 data/sql_config.php 文件由于在windows 记事本编辑后导致被自动增加了bom ,前端cookie 输出因为bom 的 原因,导致浏览器无法生成cookie,从而无法登录和注册

在editplus 另存成utf-8 无bom ,上传问题解决

参看 http://www.phpsir.com/ecshop-utf8-bom.html

总结: 要多用 linux curl 去查看文件输出