我是否可以获取有关哪个网站请求在我的Web服务器上读取XML文件的信息,并从请求中将此信息插入数据库?

例如,我想开发一些脚本,当客户端在他的服务器上安装我的脚本时,每次当他访问他的网站时,如果有新版本的脚本以及如何更新脚本,他会调用simplexml_load_file来获取信息。 我想知道谁有我的剧本。


“盲”我尝试使用.htaccess,但它没有任何作用:(当我调用text.php时:

<?php
$myFile = "save.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = $_SERVER['REMOTE_ADDR']." : ".$_SERVER['REQUEST_TIME']."\n";

fwrite($fh, $stringData);
fclose($fh);

 $xml = file_get_contents('test.xml');
    header("Content-Type:text/xml");  
    echo $xml;
?>

他把我的save.txt文件信息从哪个IP地址调用。 我可以知道来电是从哪个网址来的吗? 以及如何修复调用XML文件而不是php文件?

===============>>#1 票数:2 已采纳

也许你想尝试使用超级全局$ _SERVER ['HTTP_REFERER']。 尝试回应它以查看它包含的内容,您将了解它的工作原理。 在论坛或其他域上放置此脚本的链接,然后单击以查看结果。

要确切知道谁拥有您的脚本,您可以让它们注册(以获取其名称),或将域保存在数据库中以便稍后查看为日志(并可能手动填写有关该特定域的详细信息),等等等

编辑:

我看到你有一个XML文件。 那么你应该使用htaccess并使用不同的脚本处理该请求,并在该脚本中使用$ _SERVER ['HTTP_REFERER']。

或者:使它成为将要求的php文件。 并做所有的事情来保存你需要的信息,如referer域,并在文件的末尾读取你想要的东西(fread,file_get_contents,文件等)真正的xml文件并输出它...如果你有问题,尝试首先使用header()设置标题: http//www.php.net/manual/en/function.header.php ,使它看起来(和感觉)像一个真正的xml文件。 我认为正确的标题是text / xml,或者更好:application / rss + xml。

<?php
    file_put_contents('save.txt', $_SERVER['HTTP_REFERER'].PHP_EOL);
    $xml = file_get_contents('test.xml');
    header('application/rss+xml');
    echo $xml;
?>

将文件另存为test.php

然后制作另一个文件someonewhousethescript.html,把它放在同一个文件夹中,输入一个指向test.php的链接(在你用.htaccess做之后你应该直接链接到test.xml)。

并转到mrakodol.info/someonewhousethescript.html并单击链接

并查看save.txt。 那里你很可能会看到mrakodol.info/someonewhousethescript.html这就是我认为你想要的。

如果你真的想要将扩展名保留为.xml,你可以随时使用apache mod-rewrite。 如果有必要,我会提供样品。

至于扩展名,然后在该文件夹中创建一个新文件(看起来像网站的根文件夹),并将其命名为.htaccess,并在其中写下以下行:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^GET$ [NC]
RewriteRule test.xml test.php [NC]

  ask by mrakodol translate from so

未解决问题?本站智能推荐: