我们发现fsockopen pfsockopen函数存在着重大安全隐患,会对整个机房产生极大的影响,为了维护机房以及自身网络的稳定,我们不得不在所有主机产品上禁用fsockopen pfsockopen函数,我们会首先将隐患发生较重的服务器着手操作,其他的服务器会分批分量进行,有使用此功能的网站建议用户提前修改程序,以免影响网站的正常使用,给您带来不便,请您谅解!
关于fsockopen pfsockopen函数被禁用的解决方法
一、
服务器同时禁用了fsockopen pfsockopen,那么用其他函数代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的参数不同。
具体操作:
搜索程序中的字符串 fsockopen( 替换为 stream_socket_client( ,
然后,将原fsockopen函数中的端口参数“80”删掉,并加到$host。
示例如下,修改前:
$fp = fsockopen($host, 80, $errno, $errstr, 30);
修改后:
$fp = stream_socket_client($host."80", $errno, $errstr, 30);
二、
如果PHP版本低于5.0,fsockopen被禁用,又没有stream_socket_client()怎么办呢?自己写一个函数实现fsockopen的功能,参考代码:
function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
$ip = gethostbyname($host);
$s = socket_create(AF_INET, SOCK_STREAM, 0);
if (socket_set_nonblock($s)) {
$r = @socket_connect($s, $ip, $port);
if ($r || socket_last_error() == EINPROGRESS) {
$errno = EINPROGRESS;
return $s;
}
}
$errno = socket_last_error($s);
$errstr = socket_strerror($errno);
socket_close($s);
return false;
   }     
上一篇:ASP网站程序访问出现“常见错误 不能打开注册表关键字”的解决方法
下一篇:Windows下自由创建.htaccess文件的几种方法
本文标题:关于PHP函数(p)fsockopen禁用的解决办法
本文地址:https://www.128sj.com/jiaocheng/20160803631.html,转载请注明出处
 
   今天有位站长朋友咨询了免费空间小编,说到他在虚拟主机里设置一下301跳转,问小编有没有好的方法或跳转的代码。...
  
 
   有时候我们要保护自己的网站图片,就需要设置防盗链了。下面是免费空间小编给大家分析的php免费空间如何设置防盗链...
  
 
   有时候我们要保护自己的网站图片,就需要设置防盗链了。下面是免费空间小编给大家分析的ASP免费空间如何设置防盗链...
  
 
   今天有位站长朋友咨询了免费空间小编,说到了免费空间设置301跳转,多久可以生效?...
  
 
   前几天有位站长朋友咨询了免费空间小编,问到了网站打不开出现 处理URL时服务器出错,请遇系统管理员联系。出现这问题,我们该怎么办呢?...
  
 
   前几天有位站长朋友咨询免费空间小编,问到了网站打不开出现HTTP 500 - 内部服务器错误,应该怎么解决呢?...
  
 
   前几天有位站长朋友咨询了免费空间小编,问到网站打不开出现Service Unavailable。应该怎么办呢?下面免费空间小编就给大家介绍一下解决方法...