PHPCMS无法登录、注册

环境:

操作系统:Linux

服务器软件:nginx/1.1.16PHP/5.3.27

MySQL 版本:5.5.34-log

PHPCMS程序版本:Phpcms V9.5.7 Release 20140625


问题:

本地:本地调试一切正常

服务器上:PHPCMS中PHPSSO通信成功,无法进行账号注册、登录,通过跟踪代码发现下面代码中返回的的$fp为空值

$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
fsockopen函数替换为pfsockopen函数返回值仍为空
经过搜索,发现原来是因为fsockopen函数和pfsockopen函数存在安全问题,已被服务器禁用

安全通知公告网址:http://www.xrnet.cn/store/2012-01-10.html


解决办法:

用其他函数代替fsockopen、pfsockopen函数,比如stream_socket_client

示例如下
修改前:

$fp = fsockopen($host, 80, $errno, $errstr, 30);
 或
$fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout);
修改后:
$fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30);

$fp = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $connection_timeout);

注释:DISCUZ通信失败也有可能是因此原因!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值