服务器fsockopen函数和pfsockopen函数开启及作用

97次阅读
没有评论

共计 1103 个字符,预计需要花费 3 分钟才能阅读完成。

fsockopen() 函数的作用是可以用来打开一个 socket 连接,另一个函数 pfsockopen() 也有相似的功能,只不过后者是一个“持续”(persistent) 的 fsockopen() 函数,它在脚本运行完之后并不立即断开。

一、

第一步

找到 php.ini 文件,用记事本打开,查找 allow_url_fopen = 看看后面是 off 还 on,如果是 on,直接看下一步,如果是 off 那就修改成 on,需要注意完整的是 allow_url_fopen = on 等号的左右有空格。

allow_url_fopen = on

第二步

继续在 php.ini 文件中,查找,查找 extension=php_openssl.dll 找到以后大家注意,extension=php_openssl.dll 这段代码前面会有个 ; 号,只要把这个 ; 号删除,然后保存。

extension=php_openssl.dll

第三步

如果是 IIS 就重启 IIS

如果是 apache 就重启 apache

二、

fsockopen() 函数以 Socket 模拟 HTTP 协议 (POST)

可以进行类似真实的 http 操作,可用于采集,群发论坛发帖等等。。。

fsockopen() 函数的作用是可以用来打开一个 socket 连接,另一个函数 pfsockopen() 也有相似的功能,只不过后者是一个“持续”(persistent) 的 fsockopen() 函数,它在脚本运行完之后并不立即断开。

fsockopen() 函数存在着比较大的安全问题,比如曾经就被黑客用来进行 PHPDDOS 攻击,因此很多主机提供商禁用了这个函数。

那么如何知道自己的主机提供商有没有禁用这个函数呢?

我们可以在任意一个网站目录下新建一个.php 文件,在其中输入如下代码:

<!–?php

echo phpinfo();

?>

保存之后再在浏览器中访问该页面,可看到页面中呈现的是当前 PHP 的配置信息,按 Ctrl+ F 搜索 allow_url_fopen 或 disable_functions,可以看到如下图所示:

在 allow_url_fopen 那一栏中,如果值为 On,并且 disable_functions 这个禁用函数列表中没有 fsockopen 函数时,则表明 fsockopen() 函数是可以使用的,否则 fsockopen() 函数可能就被禁用了。

那如何才能启用或禁用这个函数呢?

我们需要找到 php.ini 这个 PHP 配置文件,如果需要禁用,则需在其中进行如下修改:

1. 将 allow_url_fopen=On 修改成 allow_url_fopen=Off

2. 在 disable_functions= 后添加 fsockopen

如果需要启用,则只需进行相反操作。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-06-15发表,共计1103字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)