0

我需要知道,我的脚本是从哪里使用的(它正在出售,我不想要任何小偷)。我想在我的服务器上写入文件、用户 IP、运行脚本的域、日期等。我试过 fopen、fwrite,但 is_file_writable 返回它不是。文件 CHmods 是 777,它的父目录也有 777 chmods。

现在我正在尝试这样的事情:

<?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 内容发送到远程脚本。您将需要 POST,因为 GET 的大小通常限制为 1-2 KB。

当然,您需要以某种方式保护该脚本以防止恶意使用,例如通过.htaccess基于密码保护或密码。

于 2010-04-24T10:32:27.163 回答