Maison > Questions et réponses > le corps du texte
Je possède 2 sites internet, example.com
和 domain.com
。两个 DNS 均托管在 Cloudflare 上。 Cloudflare 在其仪表板上提供免费的 SSL/TLS 加密。这两个网站都设置为强制 HTTPS 重写的完全加密模式。 example.com
托管在 WebHostingA 上,domain.com
hébergés sur HosterB.
Je souhaite utiliser domain.com
从example.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粉5054505052024-01-17 11:07:00
Tout d'abord, vous avez utilisé https
方案,这意味着curl使用tls连接。 https://example.com/test.php
和 http://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_URL
和 CURLINFO_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
.