Rumah > pembangunan bahagian belakang > masalah PHP > php melaksanakan penghantaran ssl

php melaksanakan penghantaran ssl

PHPz
Lepaskan: 2023-05-28 20:22:06
asal
762 orang telah melayarinya

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.

1. Jana sijil keselamatan SSL

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:

  1. Buka terminal atau tetingkap baris arahan dan masukkan arahan berikut untuk menjana fail kunci peribadi:

    openssl genrsa -out server.key 2048
    Salin selepas log masuk

    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.

  2. Masukkan arahan berikut untuk menjana permintaan menandatangani sijil (CSR):

    openssl req -new -key server.key -out server.csr
    Salin selepas log masuk

    di mana server.csr ialah nama fail permintaan menandatangani sijil.

  3. 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
    Salin selepas log masuk

    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.

2. Laksanakan penghantaran HTTPS

Seterusnya, kami boleh melaksanakan penghantaran HTTPS dalam halaman web PHP yang ringkas.

  1. 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;
    ?>
    Salin selepas log masuk

    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.

  2. Simpan fail kod dan letakkan fail sijil server.crt dan server.key dalam direktori yang sama.
  3. Mulakan pelayan PHP secara setempat:

    php -S localhost:80
    Salin selepas log masuk

    di mana 80 ialah port HTTP lalai.

  4. Masukkan alamat URL: https://localhost dalam penyemak imbas untuk mengakses halaman web HTTPS.

Pada ketika ini, kami telah melaksanakan fungsi penghantaran SSL melalui PHP.

3. Pertimbangan keselamatan SSL

Walaupun fungsi penghantaran SSL dilaksanakan melalui PHP, isu keselamatan berikut perlu dipertimbangkan dalam aplikasi sebenar.

  1. Keselamatan sijil: Kunci persendirian diperlukan semasa menjana sijil, jadi keselamatan kunci persendirian perlu diuruskan untuk mengelakkan kunci persendirian daripada bocor.
  2. Tempoh sah sijil: Selepas sijil tamat, tapak web tidak boleh diakses, jadi sijil perlu dikemas kini dalam masa.
  3. Sumber sijil: Untuk memastikan kesahihan sijil, anda perlu membeli sijil daripada pihak berkuasa atau mengeluarkan sijil itu sendiri dan memasang sijil akar dalam penyemak imbas untuk mengesahkan sumber sijil.

4. Ringkasan

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan