Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menyembunyikan fail kemasukan dalam thinkPHP5

Bagaimana untuk menyembunyikan fail kemasukan dalam thinkPHP5

PHPz
PHPzasal
2023-04-11 09:14:511067semak imbas

thinkPHP5 ialah rangka kerja pembangunan PHP yang sangat baik Ia menyediakan kaedah pembangunan pantas dan komponen fungsi yang kaya, antaranya fungsi penghalaan URL adalah salah satu ciri pentingnya. Tetapi secara lalai, mengakses laluan memerlukan penambahan index.php pada URL. Demi keindahan dan keselamatan, artikel ini akan memperkenalkan cara menyembunyikan fail masuk dalam thinkPHP5.

1. Persediaan persekitaran

Sebelum penyembunyian URL, kita perlu menyemak sama ada persekitaran setempat menyokong fungsi pseudo-statik dan fungsi penulisan semula URL, supaya operasi penyembunyian URL dapat dijalankan dengan lancar . Mula-mula, kita mesti memastikan pelayan web seperti Apache atau Nginx dipasang, dan kemudian dayakan fungsi penulisan semula pseudo-statik dan URL dalam fail konfigurasi, supaya rangka kerja boleh mengecam dan menjana URL yang dipercantik.

2. Hidupkan penyembunyian URL

  1. Buka fail konfigurasi

Dalam fail konfigurasi thinkPHP5, cari fail app.php dan cari item konfigurasi url_html_suffix Tetapkannya kepada rentetan kosong, iaitu:

'url_html_suffix' => ''

Ini membenarkan URL tidak mempunyai akhiran.

  1. Konfigurasikan penghalaan

Dalam thinkphp5, dengan mengkonfigurasi peraturan penghalaan, anda boleh memetakan URL akses kepada pengawal atau kaedah operasi. Kita perlu membuat tetapan penghalaan yang sepadan untuk setiap pengawal atau kaedah operasi, dan memetakan URL yang sepadan dengan kandungan yang bermakna, supaya kesan tersembunyi boleh diberikan, contohnya:

Route:: get('news/ :id','index/index/news',[],['id'=>'d+']);

Dengan cara ini, apabila mengakses URL /news/1, Operasi berita kaedah pengawal indeks akan dipanggil secara automatik dan id parameter permintaan akan ditetapkan kepada 1.

  1. Konfigurasikan pelayan

Konfigurasi yang sepadan juga mesti dilakukan dalam Apache atau Nginx. Mengambil Apache sebagai contoh, tambahkan kandungan berikut dalam .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . *)$ index.php?s=/$1 [QSA,PT,L]

Dalam kod ini, RewriteEngine menghidupkan fungsi penulisan semula URL Apache %{REQUEST_FILENAME} !-d dan RewriteCond %{; REQUEST_FILENAME} !-f adalah untuk mengecualikan permintaan untuk mengakses fail dan direktori untuk mengelakkan menjejaskan akses kepada sumber statik akhirnya, RewriteRule digunakan untuk menghalakan URL ke fail masukan thinkPHP index.php dan membawa maklumat penghalaan.

4. Fungsi tambahan

  1. Tetapkan akhiran URL

Untuk melindungi aplikasi kami, kami boleh menjadikan aplikasi kami lebih selamat dengan menetapkan Keselamatan akhiran URL. Sebagai contoh, anda boleh menetapkan semua akhiran URL kepada .shtml, .html, .shtml, dsb., yang boleh mengelakkan serangan pada aplikasi kami dengan berkesan.

Anda boleh mencari pilihan url_html_suffix dalam fail konfigurasi dan menambah akhiran yang sepadan, contohnya:

'url_html_suffix' => 'shtml|html|htm'

  1. Mengenal pasti URL secara automatik

Kami boleh menambah peraturan penghalaan pada kaedah daftar dalam kelas Laluan supaya rangka kerja boleh mengenal pasti URL secara automatik. Contohnya:

if (is_file(APP_PATH . 'route.php')) {
Route::get('/', 'index/index');
Route::get( ' build', 'index/build');
include_once APP_PATH ;
}

Dengan cara ini, jika terdapat URL yang sepadan dengan peraturan, ia akan menjadi dimajukan secara automatik kepada pengawal yang sepadan atau cara-caranya.

3. Ringkasan

Melalui langkah di atas, kami boleh melaksanakan operasi penyembunyian URL dengan mudah dalam thinkPHP5, yang boleh menjadikan aplikasi kami lebih cantik, selamat dan lebih mudah untuk dikendalikan. Walau bagaimanapun, dalam aplikasi sebenar, konfigurasi dan penyahpepijatan yang lebih terperinci diperlukan untuk mencapai pengalaman perkhidmatan yang terbaik.

Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan fail kemasukan dalam thinkPHP5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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