【问题标题】:How does fsockopen work in phpfsockopen 在 php 中是如何工作的
【发布时间】:2014-10-15 05:36:19
【问题描述】:

我对套接字编程很陌生。我看到了一些类似的代码

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);

最后我看到它正在执行 fwrite。我的问题是它如何使用 fwrite 执行远程 php 代码。

【问题讨论】:

  • 它做的事情和你的浏览器一样,一个简单的 HTTP GET 请求。它不是执行远程 PHP,而是服务器正在执行 PHP,并返回输出的 HTML/其他。

标签: php fsockopen


【解决方案1】:

此代码连接到网络服务器,并发送 HTTP 请求,就像浏览器一样。执行远程代码是因为当您请求该文档时,Web 服务器被配置为执行此操作。

【讨论】:

  • fwrite($fp, $out);执行代码。是用来写入文件的吧?
  • 它用于写入任何类型的流。打开到服务器的网络连接,$fp 是与服务器通信的流。
猜你喜欢
  • 2014-05-26
  • 2010-12-17
  • 2011-07-14
  • 1970-01-01
  • 2011-03-14
  • 2013-12-18
  • 2011-12-30
  • 2012-08-18
  • 2013-01-18
相关资源
最近更新 更多