我需要知道,我的脚本是从哪里使用的(它是出售的,我不想要任何小偷)。我想在我的服务器上写文件,用户的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);
?>然而,什么都不会发生。我该怎么做?
发布于 2010-04-24 18:32:27
HTTP URL包装器doesn't allow writing。
执行此操作的最佳方法是在远程服务器端使用脚本(在您的示例中为misiur.com
http://www.misiur.com/security/write_seal.php使用POST将新文本文件的内容发送到该脚本。然后,脚本将在本地对接收到的信息执行file_put_contents()操作。
Here是一个代码片段,可以让你轻松地将POST内容发送到远程脚本。你需要POST,因为GET的大小通常被限制在1-2千字节。
当然,您需要以某种方式保护该脚本以防止恶意使用,例如通过基于.htaccess的密码保护或密钥。
https://stackoverflow.com/questions/2704104
复制相似问题