Dengan penekanan yang semakin meningkat pada keselamatan rangkaian, kaedah penghantaran SSL (Secure Socket Layer) telah menjadi kaedah penghantaran selamat yang biasa digunakan dalam bidang pembangunan web. SSL memastikan keselamatan penghantaran data dengan menambahkan lapisan keselamatan antara lapisan aplikasi dan lapisan pengangkutan.
Dalam program PHP, agak mudah untuk melaksanakan penghantaran SSL. Artikel ini akan memperkenalkan cara melaksanakan fungsi penghantaran SSL melalui PHP.
Untuk melaksanakan penghantaran SSL dalam PHP, kami perlu menjana sijil keselamatan SSL terlebih dahulu. Anda boleh menjana sijil melalui arahan openssl Langkah-langkah khusus adalah seperti berikut:
Buka terminal atau tetingkap baris arahan dan masukkan arahan berikut untuk menjana fail kunci peribadi:
openssl genrsa -out server.key 2048
di mana server.key ialah nama fail kunci peribadi dan 2048 ialah panjang fail kunci peribadi yang dijana. Fail kunci peribadi yang dijana berada dalam direktori pelaksanaan arahan semasa secara lalai.
Masukkan arahan berikut untuk menjana permintaan menandatangani sijil (CSR):
openssl req -new -key server.key -out server.csr
di mana server.csr ialah nama fail permintaan menandatangani sijil.
Jana sijil. Anda boleh menjana sijil yang ditandatangani sendiri atau membeli sijil melalui pihak berkuasa. Di sini kami menjana sijil yang ditandatangani sendiri dan masukkan arahan berikut:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
di mana parameter -days menentukan tempoh sah sijil dan 365 bermakna sijil itu sah selama satu tahun. Fail sijil yang dijana dinamakan server.crt.
Pada ketika ini, kami telah menghasilkan sijil keselamatan SSL, yang boleh digunakan dalam PHP.
Seterusnya, kami boleh melaksanakan penghantaran HTTPS dalam halaman web PHP yang ringkas.
Buka fail kod PHP dan tambah kod berikut:
<?php $context = stream_context_create([ 'ssl' => [ 'local_cert' => '/path/to/server.crt', // SSL证书文件路径 'verify_peer' => false, // 不验证证书来源 'verify_peer_name' => false, // 不验证证书名称 ] ]); $https_url = 'https://example.com/'; $content = file_get_contents($https_url, false, $context); echo $content; ?>
Gunakan fungsi stream_context_create untuk mencipta konteks dan mengkonfigurasi parameter berkaitan SSL: tetapkan laluan fail sijil SSL dan jangan sahkan sumber sijil dan nama sijil.
Mulakan pelayan PHP secara setempat:
php -S localhost:80
di mana 80 ialah port HTTP lalai.
Pada ketika ini, kami telah melaksanakan fungsi penghantaran SSL melalui PHP.
Walaupun fungsi penghantaran SSL dilaksanakan melalui PHP, isu keselamatan berikut perlu dipertimbangkan dalam aplikasi sebenar.
Melalui pengenalan artikel ini, kami telah mempelajari cara melaksanakan fungsi penghantaran SSL melalui PHP, dan secara ringkas memperkenalkan isu berkaitan keselamatan SSL. Apabila kami melakukan pembangunan web, untuk memastikan keselamatan penghantaran data, kami boleh menggunakan penghantaran SSL untuk melindungi data daripada dicuri atau diusik oleh orang tengah.
Atas ialah kandungan terperinci php melaksanakan penghantaran ssl. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!