在Drupal中我以用户身份登录。如果我使用我超酷的drupal卷曲功能:
function formtocart_graburl($url) {
$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);
return $output;
}
获取任何网址,它会返回内容,就像我没有登录一样。如何强制CURL认为我是以用户调用此函数的方式登录的?
更新
假设如下:
我认为解决方案与获取cookie或会话详细信息以及以某种方式将其传递给curl函数有关?
答案 0 :(得分:0)
似乎你的问题,至少就其措辞而言,对用户如何处理被调用函数以及登录Drupal网站感到有些困惑;也就是说,应用程序级用户和服务器级用户之间的区别。
一般来说,您不会在Drupal中将之类的代码作为用户运行。虽然您可以分配执行包含该函数的Drupal挂钩的权限,但它不会执行 as 该用户,但用户Drupal本身正在运行,例如www-data。
在这里读取行,如果您真的只想将该代码的访问控制权授予Drupal的ACL系统,那么您应该阅读hook_permission()的API文档:
https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_permission/7
如果你没有明确地实现hook_permission,那么是的,这将允许函数“匿名”运行,就像你似乎在说的那样。