Rumah > Soal Jawab > teks badan
Saya memiliki 2 tapak web, example.com
和 domain.com
。两个 DNS 均托管在 Cloudflare 上。 Cloudflare 在其仪表板上提供免费的 SSL/TLS 加密。这两个网站都设置为强制 HTTPS 重写的完全加密模式。 example.com
托管在 WebHostingA 上,domain.com
dihoskan di HosterB.
Saya ingin menggunakan domain.com
从example.com/test.php
untuk mendapatkan kandungan.
Kod: 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);
Kod: example.com/test.php
if (isset($_POST['username']) && ctype_alpha($_POST['username'])) { echo($_POST['username'] . " You got my contents!"); } else { echo("Nope!"); }
Saya berjaya memulangkan kandungan daripada example.com/test.php
获取内容(Bob 你得到了我的内容!
)。然而,我担心的是我不必在 cURL 代码中提供任何类型的证书。如何检查从 domain.com
发送的内容是否已加密以及从 example.com
(domain.com
disulitkan dan kandungan yang diterima daripada example.com
disulitkan? Matlamat saya adalah untuk memindahkan data dengan selamat antara kedua-dua tapak web ini.
P粉5054505052024-01-17 11:07:00
Pertama sekali, anda menggunakan https
方案,这意味着curl使用tls连接。 https://example.com/test.php
和 http://example.com/test.php
url yang berbeza, curl itu sendiri tidak akan mengubah skema.
Kedua - Dalam sesetengah kes, bahagian pelayan boleh mengubah hala ke http biasa. Untuk memastikan tiada ubah hala dan sambungan disulitkan, anda boleh cuba menggunakan medan curl_getinfo()
函数并检查 CURLINFO_EFFECTIVE_URL
和 CURLINFO_SSL_VERIFYRESULT
seperti ini:
$r = curl_getinfo($ch, CURLINFO_SSL_VERIFYRESULT); $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$r
应为 0,$url
应以 https://
Permulaan.
Anda juga boleh menggunakan tcpdump pada mana-mana pelayan ini untuk log permintaan dan cuba menyemak dump untuk sebarang data tulen.
[server1]# tcpdump -l -n -s 0 -w dump.pcap host server2.ip.addres
Anda akan melihat port yang disambungkan dan log data yang ditangkap ke dalam fail dump.pcap. Jika salah satu port ialah 443 - trafik anda dihantar menggunakan tls. Anda juga boleh menganalisis fail dump.pcap kemudian dalam wireshark atau hanya gunakan arahan strings
.