【发布时间】:2014-11-07 18:32:06
【问题描述】:
我搜索了所有内容,但没有看到与此问题相关的任何内容。我有一个 curl 脚本,它从网站获取随机生成的 10 个字符的字符串。我已获得网站所有者的许可,可以获取此数据并将其显示在我的博客上。我的问题是,当用户访问我的网站时,它会显示字符串,如果他们刷新页面,它将显示一个新字符串。如何限制每个用户一个字符串,使他们不能一遍又一遍地刷新以获得多个字符串?
这是我的代码所基于的示例 curl:
$url = "http://m.www.yahoo.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
preg_match('/<dl class="markets clearfix strong small">(.*)<\/dl>/is', $output, $matches);
echo $matches[0];
curl_close($ch);
【问题讨论】:
-
您尝试过会话或cookies吗?或者,如果您想要更高级的解决方案,只需要求用户登录并将生成的字符串设置为某些用户字段。
-
您可以更进一步,使用数据库、内存缓存或文件作为每个 ip/用户代理组合的计数器,这样用户就不能只清除 cookie 以获得一组新的 curl 请求。
-
@Robik 我可以将
$matches[0];放在会话中吗?