[英]Detect incoming PHP post, save file
目前有一個服務器設置為將 zlib 文件發布到另一台服務器:(這是 C# 代碼)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://server-ip-here/postlistener?filename=filename.zlib");
req.UseNagleAlgorithm = true;
req.AllowWriteStreamBuffering = true;
req.Method = "POST";
req.Accept = "application/xml";
req.ServicePoint.Expect100Continue = false;
System.Net.ServicePointManager.CheckCertificateRevocationList = false;
req.Proxy = new WebProxy();
filename = "filename.dat";
byte[] postData = File.ReadAllBytes(filename);
Stream stream = req.GetRequestStream();
stream.Write(postData, 0, postData.Length);
stream.Flush();
stream.Close();
req.BeginGetResponse(new AsyncCallback(responseHandler), this);
需要在不同的服務器上編寫一些 php 以便當這個特定的 IP 向我發布內容時(也就是當服務器 192. 某些東西或其他發布到我的服務器 IP 時)我需要能夠
然而,作為 PHP 的新手,這是我迄今為止的研究告訴我的:
a) 使用此代碼查看請求是否為帖子
if '($_SERVER['REQUEST_METHOD'] === 'POST') { // … }
b) 使用: $_SERVER['HTTP_REFERER']
c) 沒有真正的想法。
也不完全確定如何將這些部分串在一起。 我有什么想法可以監聽從該 IP 發送的 POST,然后下載正在發布的文件?
也真的不知道如何設置我的 php 頁面才能做到:
/postlistener?filename=filename.zlib
我相信 postlistener 部分是我的頁面,不知何故該頁面也應該獲得一個文件? TH=他是我的理解,已經為公司的其他人接手了這個項目,當然沒有文件可以配合。 任何幫助都會有很大幫助,謝謝。
這將偵聽任何 POST 數據,然后將 post 變量名稱放入一個數組中。
<?
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if($_SERVER['REMOTE_ADDR'] == '*IPADDRESS*') {
$posts = array();
foreach ($_POST as $key => $value){
echo "{$key} = {$value}\r\n";
array_push($posts,$key);
}
}
}
print_r($posts);
?>
之后,您可以遍歷$posts
數組並下載所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.