Редактирование файла между доменами - PullRequest
0 голосов
/ 24 апреля 2010

Мне нужно знать, откуда мой сценарий используется (он продается, и я не хочу воров). Я хочу написать на своем сервере файл, IP-адрес пользователя, домен, из которого был запущен скрипт, дату и т. Д. Я пробовал fopen, fwrite, но is_file_writable вернул, что это не так. Файл CHmods 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);
?>

Однако - ничего не происходит. Что я должен сделать?

1 Ответ

1 голос
/ 24 апреля 2010

Оболочка HTTP URL не позволяет писать .

Лучший способ сделать это - иметь скрипт на конце удаленного сервера (в вашем примере, misiur.com:

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

Отправьте содержимое нового текстового файла в этот скрипт, используя POST. Затем сценарий file_put_contents() получит информацию локально .

Здесь - фрагмент кода, который позволяет легко отправлять содержимое POST в удаленные сценарии. Вам понадобится POST, потому что размер GET обычно ограничен 1-2 килобайтами.

Конечно, вам нужно как-то обезопасить этот скрипт, чтобы предотвратить его злонамеренное использование, например. через .htaccess защиту паролем или пароль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...