在PHP程序中fsockopen是一个功能比较强大的函数,大多数

如果无法修改php.ini文件,或者修改无效,可参考以下方法。

一、如果只禁用了fsockopen,而没有禁用pfsockopen方法可将所有用到fsockopen方法的地方修改为使用pfsockopen,如果是插件调用,那只能通过修改插件的代码来搞定了。

二、如果服务器同时还禁用了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);

三,如果你十分十分的不幸,fsockopen和pfsockopen方法都被禁用,并且你的php版本低于5.0时,没有stream_socket_client方法,那你只有自己手动写一个了。

参考代码:

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;

}

具体操作:

1、首先找到使用fsockopen函数的代码段,将上面代码加至其上端,搜索该代码段中的字符串fsockopen()替换为b_fsockopen()。

2、因为fsockopen函数返回文件指针所以可以被文件函数操作,但是这个b_fsockopen()函数没能返回文件指针,需要继续修改代码段:用socket_read()替换掉fread(),用socket_write(替换掉fwrite(),用socket_close()替换掉fclose()。

本文出自:亿恩科技【www.enkj.com】

虚拟网站禁用php,虚拟主机php程序fsockopen函数被禁用相关推荐

  1. 解决虚拟主机空间商禁用fsockopen函数

    随着DEDECMS使 用的站长越来越多,黑客也开始活动起来.争对DEDECMS的开源特性,很多能利用的漏洞,都被黑客利用从而进行攻击等.做为站长或服务器idc商,肯定 是想办法解决这些隐患的!所以很多 ...

  2. php fsockopen permission denied,Php Fsockopen 被服务器禁用的解决办法

    fsockopen 简介 PHP 函数 fsockopen 用来打开网络 Socket 链接 fsockopen() - Open Internet or Unix domain socket con ...

  3. php fsockopen permission denied,php fsockopen()函数禁用解决办法

    fsockopen函数是一个可以实现远程登录访问的一个函数了,当然也是一个相对来说比较危险的函数了,很多主机商都直接把fsockopen函数给禁用了,那么像有些cms会需要用到这个函数,像ecshop ...

  4. 虚拟网站禁用php,虚拟主机配置,建议禁止php函数列表,禁用不安全的PHP函数

    禁用不安全的PHP函数,有些php函数是不够安全的,我们必须要加强安全配置,如果做虚拟主机,建议禁止php函数列表如下: disable_functions = system,exec,shell_e ...

  5. 主机安装php网站,php支持虚拟主机(php网站空间)

    php设置虚拟主机,主要是为了在ie输入地址栏是,可以输入任意的,而不是localhost/,为了方便,但是设置起来很不方便的.. 发现不能实现每个站点使用不同的PHP版本,想向大家求教一下,有没有能 ...

  6. LinuxProbe 0x13 网站服务程序、SELinux安全子系统、个人用户主页功能、虚拟网站主机功能

    网站服务程序 Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. , Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程 ...

  7. LinuxProbe 0x14 虚拟网站主机功能(基于端口)、Vsftpd服务传输文件、TFTP简单文件传输协议

    虚拟网站主机功能 基于端口号 基于端口号的虚拟主机功能可以让用户通过指定的端口号来访问服务器上的网站资源.在使用Apache配置虚拟网站主机功能时,基于端口号的配置方式是最复杂的. 因此我们不仅要考虑 ...

  8. linux网站搬家win系统,Ecshop网站从windows虚拟主机迁移搬家到linux主机下报错的解决方案...

    Linux主机和windows主机在配置环境上有所不同,所以程序在不同环境上安装.配置的过程中,难免出现问题.无忧主机香港php虚拟主机是linux的主机,最近在帮客户从windows环境下进行网站迁 ...

  9. 怎么将网站迁移到云服务器上,云服务器网站迁移到虚拟主机

    云服务器网站迁移到虚拟主机 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 使用 ...

最新文章

  1. flutter开发小程序_为什么我认为Flutter是移动应用程序开发的未来
  2. SparkStreaming从Kafka读取数据两种方式
  3. 请教提高代码编写组织能力代码优化、精明
  4. I.MX6 Android 5.1 回到 Android 4.2 emmc 启动
  5. ubuntu10.04开启root登陆
  6. 【C语言进阶深度学习记录】三十八 C/C++语言中的函数声明与函数定义
  7. sql聚合函数及分组的注意事项
  8. 如何用html制作彩虹,使用transform和arc方法,怎么绘制彩虹效果。
  9. matlab2014b linux,matlab 2014b linux 肿么安装
  10. microsoft store 安装包_LOL英雄联盟手游官方安装包
  11. Flask + PostgreSQL部署在Heroku上的薅羊毛线报网站
  12. LabVIEW如何开发大型程序
  13. jadx-gui-1.4.4 反编译工具使用教程
  14. Stata基础33讲(连享会公开课)
  15. Python - 实现渐变色的RGB计算
  16. java生成word排版_java生成word(文字和图片)
  17. 四棱锥和三棱锥重叠求面数
  18. 微信公号开发之图文消息全攻略
  19. 网络命令(ARP、PING)的使用分析
  20. Jsoup框架爬取网络图片

热门文章

  1. 全国计算机vb二级题型,全国计算机二级考VB机试常见题型汇总.doc
  2. 【面试 redis】【第十二篇】redis的相关面试问题【完结】
  3. bzoj2423[HAOI2010]最长公共子序列
  4. 删除和创建用户的脚本
  5. MyEclipse10 中的两种FreeMarker插件的安装与配置
  6. 一个老博士的经验顺口溜
  7. sniffer的高级工具
  8. Linux就该这么学 20181008(第十三章BIND)
  9. 命令+mybatis-generator插件自己主动生成Mapper映射文件
  10. 数据结构与算法题整理