如何记录httpS?

时间:2017-10-10 00:06:54

标签: php http https proxy referrer

Php Gurus,

我向迷你代理添加了一个url记录器,这样无论我的免费用户浏览了什么,都会在他们的帐户用户名下登录我的数据库。 迷你代理的代码太长,不适合这篇文章,所以你可以在这里查看: https://github.com/joshdick/miniProxy/blob/master/miniProxy.php

使用迷你代理,我现在浏览的任何内容都会记录到我的数据库中。 Tbl:browsing_history。 专栏:ids,time&日期,用户名,网址。

现在,当我查看网址时,它会被记录。

// 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”页面?要更改哪条线以及要解决此问题? 我收到错误: 错误:服务器管理员不允许请求的网址。

如果您检查代码的链接,那么您将看到脚本代码的第308行提到了错误。

Q2。 我想伪造REFERRER所以网站(通过代理查看)看到引荐来源:http://www.example.com/referrer.html而不是实际的引荐来源。 我在哪一行添加了哪些代码来实现这一目标?

1 个答案:

答案 0 :(得分:0)

A1:$whitelistPatterns你有什么价值? preg_match curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 。{/ p>

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

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

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

A2:在There is url checking行之间插入:

curl_setopt($ch, CURLOPT_HTTPHEADER, $curlRequestHeaders);

条件/块中的任何行都不会好。没关系。虽然referer设置CURLOPT_REFERER,但如果标题中存在referer。所以在此行之前应该是默认的引用者和之后:重写。 (我不知道CURLOPT_HTTPHEADER的{​​{1}}优先级是query中的sort