cURL mit SSL-Überprüfung funktioniert, aber wie kann man überprüfen, ob es verschlüsselt ist?
P粉155832941
P粉155832941 2024-01-16 12:51:08
0
1
383

Ich besitze 2 Websites, example.comdomain.com。两个 DNS 均托管在 Cloudflare 上。 Cloudflare 在其仪表板上提供免费的 SSL/TLS 加密。这两个网站都设置为强制 HTTPS 重写的完全加密模式。 example.com 托管在 WebHostingA 上,domain.com gehostet auf HosterB.

Ich möchte domain.comexample.com/test.php verwenden, um Inhalte zu erhalten.

Code: domain.com/get-contents.php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/test.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['username' => 'Bob']);
$response = curl_exec($ch);
var_dump($response);

Code: example.com/test.php

if (isset($_POST['username']) && ctype_alpha($_POST['username'])) {

    echo($_POST['username'] . " You got my contents!");

} else {
    echo("Nope!");
}

Ich konnte den Inhalt von example.com/test.php 获取内容(Bob 你得到了我的内容!)。然而,我担心的是我不必在 cURL 代码中提供任何类型的证书。如何检查从 domain.com 发送的内容是否已加密以及从 example.com erfolgreich zurückgeben (Bob, du hast meinen Inhalt erhalten!). Meine Sorge besteht jedoch darin, dass ich im cURL-Code keinerlei Zertifikat angeben muss. Wie überprüfe ich, ob von domain.com gesendete Inhalte verschlüsselt sind und von example.com empfangene Inhalte verschlüsselt sind? Mein Ziel ist es, Daten sicher zwischen diesen beiden Websites zu übertragen.

P粉155832941
P粉155832941

Antworte allen(1)
P粉505450505

首先你使用了https方案,这意味着curl使用tls连接。 https://example.com/test.phphttp://example.com/test.php 是不同的 url,curl 本身不会更改方案.

第二 - 在某些情况下,服务器端可能会重定向到纯 http。为了确保没有重定向并且连接是加密的,您可以尝试使用 curl_getinfo() 函数并检查 CURLINFO_EFFECTIVE_URLCURLINFO_SSL_VERIFYRESULT 字段像这样:

$r = curl_getinfo($ch, CURLINFO_SSL_VERIFYRESULT);
$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

$r 应为 0,$url 应以 https:// 开头。

您还可以在任何此服务器上使用 tcpdump 来记录请求并尝试检查转储是否有任何纯数据。

[server1]# tcpdump -l -n -s 0 -w dump.pcap host server2.ip.addres

您将看到连接的端口并将捕获的数据记录到 dump.pcap 文件中。如果端口之一是 443 - 您的流量是使用 tls 发送的。您也可以稍后在wireshark中分析dump.pcap文件或仅使用strings命令。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!