2010-04-24 68 views
0

我需要知道,從哪裏來的是我的腳本(這是出售,我不想任何小偷)。 我想寫在我的服務器上的文件,IP的用戶,從腳本已經運行的域,日期等我試過fopen,fwrite,但is_file_writable返回它不是。文件CHmod是777,它的父目錄也有777個chmod。跨域文件編輯

現在,我想這樣的事情:

<?php 
$file = 'http://www.misiur.com/security/seal.txt'; 

$data = date("Y-m-d H:i:s"); 
$ip = $_SERVER['REMOTE_ADDR']; 
$svr = $_SERVER['SERVER_NAME']; 
$str = "[$data] Loaded by $ip at $svr\r\n"; 

$current = file_get_contents($file); 
$current .= $str; 
file_put_contents($file, $current); 
?> 

然而 - 什麼也沒有發生。我必須做什麼?

+0

HTTP是它的核心文件**檢索**系統,而不是文件發佈系統。有很多HTTP擴展允許它,但我不認爲你可以用這種方式從PHP中使用它們。 – 2010-04-24 10:32:39

回答

1

HTTP URL封裝器doesn't allow writing

做到這將是其在遠程服務器端腳本(在你的例子,最好的辦法,misiur.com

http://www.misiur.com/security/write_seal.php 

使用POST發送新的文本文件的內容,該腳本的腳本。然後會file_put_contents()接收到的信息本地

Here「SA的代碼片段,讓您POST內容發送到遠程腳本很容易。你需要POST因爲GET的尺寸通常限制在1-2千字節。

當然,您需要以某種方式保護該腳本以防止惡意使用,例如,通過基於.htaccess的密碼保護或密鑰。