小编fro*_*sty的帖子

如何使用PHP中的cURL连接Tor隐藏服务?

我正在尝试使用以下PHP代码连接到Tor隐藏服务:

$url = 'http://jhiwjjlqpyawmpjx.onion/'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, "http://127.0.0.1:9050/");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$output = curl_exec($ch);
$curl_error = curl_error($ch);
curl_close($ch);

print_r($output);
print_r($curl_error);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到以下错误:

无法解析主机名

但是,当我从Ubuntu中的命令行运行以下命令时:

curl -v --socks5-hostname localhost:9050 http://jhiwjjlqpyawmpjx.onion
Run Code Online (Sandbox Code Playgroud)

我得到了预期的回复

PHP cURL文档说明了这一点:

--socks5-hostname
Use  the  specified  SOCKS5 proxy (and let the proxy resolve the host name).
Run Code Online (Sandbox Code Playgroud)

我相信它从命令行工作的原因是因为Tor(代理)正在解析它识别的.onion主机名.在运行上面的PHP代码时,我的猜测是cURL或PHP正在尝试解析.onion主机名并且无法识别它.我已经搜索了一种告诉cURL/PHP让代理解析主机名的方法,但我找不到办法.

有一个非常类似的Stack Overflow问题,使用socks5代理的cURL请求在使用PHP时失败,但它通过命令行工作.

php proxy curl tor

350
推荐指数
4
解决办法
23万
查看次数

销毁Code Igniter中的特定会话

工作人员注意:此问题及相关答案已锁定,以防止围绕与当前问题相关的当前事件进行主题讨论.有关此活动的 问题可以在我们的meta网站上找到.谢谢!

我希望能够将用户从我在Code Igniter中构建的应用程序中注销.

我知道如何结束活动的本地会话:

$this->session->sess_destroy();
Run Code Online (Sandbox Code Playgroud)

但是,如何销毁在另一台计算机上启动的会话,从而将用户从会话中注销?

我在会话数据中存储了与其帐户关联的唯一ID,因此我可以在数据库的会话表中看到它,但它与其他会话数据一起存储在名为user_data的列中,其内容看起来像这个:

a:4:
{s:9:"user_data";s:0:"";s:6:"userid";s:6:"189034";s:9:"logged_in";b:1;s:5:"token";i:1767727789;}
Run Code Online (Sandbox Code Playgroud)

189034用户的ID 在哪里.

那么,有没有办法以某种方式根据用户的id选择会话表中的行,然后删除该行并销毁会话.或者还有另一种方法可以完全做到这一点吗?

session codeigniter destroy

43
推荐指数
2
解决办法
4万
查看次数

标签 统计

codeigniter ×1

curl ×1

destroy ×1

php ×1

proxy ×1

session ×1

tor ×1