Dalam pembangunan sebenar, kadangkala kita perlu menyembunyikan nama domain selepas pergi ke dalam talian untuk mengelak daripada diserang. Pembangun yang menggunakan rangka kerja ThinkPHP boleh menggunakan beberapa kaedah untuk mencapai matlamat ini.
Idea: Sembunyikan alamat URL sebenar dengan mentakrifkan peraturan penghalaan.
Langkah-langkahnya adalah seperti berikut:
(1) Ubah suai fail konfigurasi projek (config.php) dan tentukan peraturan penghalaan:
'路由规则' => '目标地址'
Contohnya:
'test' => 'index/index/hello'
Ini bermakna apabila mengakses "http://nama domain/ujian", lompat ke "kaedah helo operasi indeks pengawal indeks".
(2) Masukkan "http://nama domain/ujian" dalam bar alamat penyemak imbas, dan anda akan melihat bahawa alamat URL sebenar telah disembunyikan.
Idea: Gunakan teknologi pseudo-statik untuk menukar alamat URL kepada bentuk mesra enjin carian, dan juga mempunyai kesan menyembunyikan alamat URL.
Langkah-langkahnya adalah seperti berikut:
(1) Konfigurasikan pseudo-statik pada pelayan Apache dan letakkan fail ".htaccess" dalam direktori akar tapak web.
(2) Tambahkan kod berikut dalam fail "index.php" projek:
if (!is_file('./html' . $_SERVER['REQUEST_URI'] . '.html')) { // 生成html文件 ob_start(); // 渲染页面 $content = ob_get_clean(); // 保存为静态文件 file_put_contents('./html' . $_SERVER['REQUEST_URI'] . '.html', $content); } // 输出静态文件 echo file_get_contents('./html' . $_SERVER['REQUEST_URI'] . '.html');
Ini bermakna: jika fail HTML yang sepadan wujud, keluarkan fail tersebut; dalam Hasilkan fail HTML statik yang sepadan dalam direktori "html" dan keluarkan kandungannya.
(3) Masukkan alamat URL yang sepadan dengan halaman dalam bar alamat penyemak imbas, dan anda akan melihat bahawa alamat URL sebenar telah disembunyikan.
Idea: Gunakan teknologi proksi terbalik untuk menggunakan alamat sebagai wakil dan majukan semua permintaan ke alamat tersebut, sementara pada masa yang sama pada wakil alamat Konfigurasikan peraturan proksi terbalik untuk memajukan permintaan ke alamat sebenar.
Langkah-langkahnya adalah seperti berikut:
(1) Konfigurasikan peraturan proksi terbalik pada pelayan Nginx dan tambahkan kod berikut pada fail "/etc/nginx/nginx.conf":
server { listen 80; server_name 域名; location / { proxy_pass http://真实的地址; proxy_set_header Host $host; } }
bermaksud: majukan semua permintaan ke alamat sebenar dan tetapkan parameter pengepala "Hos" dalam alamat sasaran kepada nama domain hos semasa.
(2) Masukkan alamat wakil dalam bar alamat penyemak imbas untuk mengakses alamat sebenar, dan alamat URL sebenar telah berjaya disembunyikan.
Ringkasan
Berdasarkan tiga pilihan di atas, kami boleh memilih kaedah mana yang lebih sesuai untuk projek kami berdasarkan keperluan sebenar. Melalui kaedah di atas, kami bukan sahaja dapat memastikan keselamatan operasi laman web, tetapi juga memberikan pengguna pengalaman akses yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan nama domain selepas thinkPHP berada dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!