Maison  >  Questions et réponses  >  le corps du texte

cURL avec vérification SSL fonctionne, mais comment vérifier qu'il est crypté ?

Je possède 2 sites internet, example.comdomain.com。两个 DNS 均托管在 Cloudflare 上。 Cloudflare 在其仪表板上提供免费的 SSL/TLS 加密。这两个网站都设置为强制 HTTPS 重写的完全加密模式。 example.com 托管在 WebHostingA 上,domain.com hébergés sur HosterB.

Je souhaite utiliser domain.comexample.com/test.php pour obtenir du contenu.

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!");
}

J'ai réussi à renvoyer le contenu de example.com/test.php 获取内容(Bob 你得到了我的内容!)。然而,我担心的是我不必在 cURL 代码中提供任何类型的证书。如何检查从 domain.com 发送的内容是否已加密以及从 example.com (Bob, tu as mon contenu !). Cependant, mon souci est que je n'ai pas à fournir de certificat dans le code cURL. Comment puis-je vérifier si le contenu envoyé depuis domain.com est crypté et si le contenu reçu depuis example.com est crypté ? Mon objectif est de transférer des données en toute sécurité entre ces deux sites Web.

P粉155832941P粉155832941251 Il y a quelques jours339

répondre à tous(1)je répondrai

  • P粉505450505

    P粉5054505052024-01-17 11:07:00

    Tout d'abord, vous avez utilisé https方案,这意味着curl使用tls连接。 https://example.com/test.phphttp://example.com/test.php une URL différente, curl lui-même ne changera pas le schéma.

    Deuxième - Dans certains cas, le côté serveur peut rediriger vers du http simple. Pour vous assurer qu'il n'y a pas de redirection et que la connexion est cryptée, vous pouvez essayer d'utiliser le champ curl_getinfo() 函数并检查 CURLINFO_EFFECTIVE_URLCURLINFO_SSL_VERIFYRESULT comme ceci :

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

    $r 应为 0,$url 应以 https://Début.

    Vous pouvez également utiliser tcpdump sur n'importe lequel de ces serveurs pour enregistrer les requêtes et essayer de vérifier le dump pour toute donnée pure.

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

    Vous verrez le port connecté et enregistrerez les données capturées dans un fichier dump.pcap. Si l'un des ports est 443, votre trafic est envoyé via tls. Vous pouvez également analyser le fichier dump.pcap plus tard dans Wireshark ou simplement utiliser la commande strings.

    répondre
    0
  • Annulerrépondre