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);
?>

ただし、何も起こりません。私は何をしなければならないのですか?

4

1 に答える 1

1

HTTP URL ラッパーは書き込みを許可しません

これを行う最善の方法は、リモート サーバー側にスクリプトを配置することです (この例では、misiur.com:

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

POST を使用して、新しいテキスト ファイルの内容をそのスクリプトに送信します。スクリプトはfile_put_contents()、受け取った情報をローカルで取得します。

これは、POST コンテンツをリモート スクリプトに簡単に送信できるようにするコード スニペットです通常、GET のサイズは 1 ~ 2 キロバイトに制限されているため、POST が必要になります。

もちろん、.htaccessベースのパスワード保護やパスキーなどを使用して、悪意のある使用を防ぐために、そのスクリプトを何らかの方法で保護する必要があります。

于 2010-04-24T10:32:27.163 に答える