如何在php中创建僵尸服务器?

时间:2011-07-31 00:55:30

标签: php proxy

我想创建一个僵尸服务器。

这意味着,它是由另一台服务器控制的代理服务器。

原因是我的服务器既不支持ssl也不支持curl。而另一台服务器呢。所以我想通过php-paramater(index.php?order = ...)将php-orders传递给其他服务器(理解php),并将结果发送到我的脚本。

是否有可用于僵尸服务器的代码段?

2 个答案:

答案 0 :(得分:0)

您可以将file_get_contents()fopen() wrappers are enabled

提供的HTTP资源一起使用
if (($sResult = @file_get_contents('http://zombie.example.net/order.php?order=…')) === FALSE) {
    throw new Exception('HTTP request failed!');
}

然后您可以解析$sResult

但是,请务必知道您在通过SSL保护请求之前,可能会以明文形式向“僵尸”发送敏感信息。

order.php脚本的僵尸中,您只需处理$_GET个参数,然后再使用cURL或file_get_contents()将其置于SSL请求中。

答案 1 :(得分:0)

这是非常不安全和未经测试的,但我相信这样的东西会满足您的需求。

服务器1(没有卷曲等):

<?php

// hash from pass, eg. 'da790439c0d433fcb1c1528008a1df2b5a7a7051'
$hash = sha1('some password here');
$command = 'echo "aaa";';
$result = file_get_contents('http://www.example.com/?hash='.$hash.'&command='.urlencode($command));

服务器2(带卷曲的):

<?php

// hashed password hash
$hashed_hash = 'eb6874cc5accb7ab24c1ce4a6ec5521ac5748340';
if (isset($_GET['hash']) && sha1($_GET['hash'])==$hashed_hash) {
    // correct hash given
    $command = urldecode($_GET['command']);
    // do whatever you need with command
}