如何登录httpS?

How To Log httpS?

Php 大师,

我向 Mini Proxy 添加了一个 url 记录器,这样我的免费用户浏览的任何内容都会以他们的帐户用户名登录到我的数据库中。 Mini Proxy 的代码太长,不适合这个post,所以你可以在这里查看: https://github.com/joshdick/miniProxy/blob/master/miniProxy.php

使用迷你代理,我现在浏览的任何内容都会登录到我的数据库中。 表:browsing_history。 列:ID、时间和日期、用户名、urls.

现在,当我查看 url 时,它会被记录下来。

// Dump $url into db

$stmt = mysqli_prepare($conn, "INSERT INTO 
browsing_histories(ids,usernames,urls) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'iss', $id, $user, $url);
mysqli_stmt_execute($stmt);
if($stmt)
{
    echo "Logged $url to db a success!";
}
else    
{
    echo "Logging $url to db failed!";
}

Q1。 为什么 Web 代理 php 脚本只获取 "http" 而不是 "https" 页面?要更改哪一行以及如何解决这个问题? 我收到错误: 错误:请求的 URL 被服务器管理员禁止。

如果您检查 link 代码,您会看到脚本代码的第 308 行提到了错误。

Q2。 我想伪造 REFERRER,以便网站(通过代理查看)将推荐人视为:http://www.example.com/referrer.html 而不是实际的推荐人。 我在哪一行添加几行代码来实现这个?

A1:你在$whitelistPatterns中有什么价值观? There is url checking 来自 preg_match

如果您不想限制流量,请删除此安全条件。

这也可能是因为您在服务器上没有有效的根证书或时间配置不正确。你可以在你的服务器上修复它,或者忽略它:

      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

A2: 在行之间插入 110-172:

curl_setopt($ch, CURLOPT_REFERER, 'http://www.example.com/1');

任何不在条件/块中的行都可以。没关系。尽管 curl_setopt($ch, CURLOPT_HTTPHEADER, $curlRequestHeaders); 设置 referer 如果它存在于 header 中。所以在这一行之前应该是默认的推荐人和之后:被覆盖。 (不知道CURLOPT_REFERER是否比CURLOPT_HTTPHEADER中的referer优先级高)