【发布时间】:2016-10-25 20:54:05
【问题描述】:
我在浏览器中打开test1.php,它应该调用test2.php,并在url 中使用GET 变量id,这又应该将id 和时间附加到一个名为test1.txt 的本地文本文件中
但它不起作用。
如果我直接使用 GET var 调用 test2.php,它就可以正常工作 - http://www.example.com/test2.php?id=123456 - 但是当我在浏览器中加载 test1.php 时它就不起作用了。
test1.php
curl_setopt_array(
$ch, array(
CURLOPT_URL => 'http://www.example.com/test2.php?id=123456',
CURLOPT_RETURNTRANSFER => 0
));
curl_exec($ch);
test2.php
if(!isset($_GET['id'])) {
die();
}
$ID = (int)$_GET['id'];
$myfile = fopen("test1.txt", "a") or die();
$txt = $ID . " - " .time() . "\n";
fwrite($myfile, $txt);
fclose($myfile);
php 中是否有安全措施来防止这种行为,或者我只是在这里遗漏了一些非常明显的东西?
【问题讨论】:
-
查看服务器访问日志时看到
id=123456参数了吗? -
你带来了我生命中的祸根,以及导致我首先走这条路的原因。我的服务器访问日志由 Plesk 管理,访问是一场噩梦(通过 Plesk 控制面板除外)。因此,我不必使用 php 来获取信息的访问日志,因此这个 cURL 设置将 id 和时间写入我自己的文本(日志)文件。简而言之 - 我不知道 apache 日志是谋杀导航。
-
我想不出这不起作用的任何原因。脚本一直使用带有 URL 参数的
curl。 -
我刚刚在我的服务器上试了一下,效果很好。
-
您从未设置过
$ch。你需要$ch = curl_init();。