オリジナルのソースがないので、私は変更できない暗号化された(ioncube)PHPファイルがあります。私はものをするためにそのファイルを実行する必要があります。入力はXMLタイプの後要求です。PHPが暗号化されたphpファイル(ioncube)に入力を渡しています
私は出力をキャッチする
ob_start();
include("encoded.php");
$output = ob_get_contents();
ob_end_clean();
を使用することができますが、私は、入力XMLを操作する方法がわかりません。
私は現在、このコードは、いくつかの接続のために正常に動作しますが、(100と500の間)、ユーザが大量にこのコードを呼び出そうとした場合に
private static function post($xml)
{
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => self::$site,
CURLOPT_PORT => 443,
CURLOPT_HTTPHEADER => array(
"Content-type: text/xml",
"Content-length: ".strlen($xml),
"Connection: close"),
CURLOPT_POSTFIELDS => $xml,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_FORBID_REUSE => 0,
CURLOPT_FRESH_CONNECT => 1
));
$data = curl_exec($ch);
if (curl_errno($ch))
$data = "ERROR:".curl_errno($ch);
curl_close($ch);
return $data;
}
localhostのポストを行うにはCURLを使用しています暗号化されたphpがwierdデータを返し始めます(空または非XML戻り)。
問題は次のとおりです。ob_startの使用中にphp://入力ストリームを偽装するにはどうすればよいですか?またはそれを解読せずにioncube PHPファイルを呼び出すための他のソリューションですか?
あなたは100から500を模倣するために探しています同時ユーザーリクエスト? – MonkeyZeus
@MonkeyZeusあなたが1つのファイルへの500のリクエストをシミュレートすることを意味するならば、私の答えはいいえ、私はすでに多くのトラフィックを持っている、私はイオンキューブをロードする方法を探しています。私が今使っているカールは資源にやさしいものではなく、何度も失敗するので、コードに直接アクセスすることができないので、私は他の選択肢がありません。 – BlackSun
私の答えは、私の回答を見てください。 – MonkeyZeus