Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menyembunyikan id dalam laravel

Bagaimana untuk menyembunyikan id dalam laravel

PHPz
PHPzasal
2023-04-21 10:05:28644semak imbas

Dengan pembangunan aplikasi web, semakin ramai orang mula menggunakan rangka kerja untuk membina aplikasi mereka sendiri Salah satu rangka kerja yang paling popular ialah Laravel. Laravel menyediakan banyak fungsi dan alatan yang memudahkan pembangunan, termasuk fungsi yang boleh menyembunyikan ID, yang sangat berguna untuk sesetengah aplikasi dengan keperluan keselamatan yang tinggi.

Dalam banyak aplikasi, kunci utama rekod data biasanya ialah id berangka, yang menjadikannya lebih mudah untuk mengurus dan mendapatkan semula data. Walau bagaimanapun, kadangkala kita perlu melindungi rekod data ini untuk mengelakkannya daripada mudah terdedah. Contohnya, jika rekod data kami mengandungi maklumat sensitif, kami hanya mahu membenarkan akses kepada pengguna yang disahkan.

Dalam Laravel, kita boleh menggunakan ciri yang dipanggil pengikatan model laluan untuk menghantar nilai id secara tersirat. Ini bermakna kita boleh menyembunyikan id dalam URL dan masih menggunakannya untuk menanyakan rekod data. Mari lihat bagaimana ini berfungsi.

Mula-mula kita perlu menentukan kunci penghalaan dalam model kita, ini akan menjadi medan yang kita gunakan secara tersirat. Dalam contoh kami, kami akan menggunakan medan slug untuk mengenal pasti rekod data kami.

class Post extends Model
{
    public function getRouteKeyName()
    {
        return 'slug';
    }
}

Seterusnya, kami perlu mengemas kini definisi penghalaan kami untuk menggunakan model dan kekunci penghalaan kami. Sebagai contoh, kita boleh menggunakan laluan berikut untuk memaparkan siaran:

Route::get('/posts/{post}', function (Post $post) {
    return view('post', compact('post'));
});

Ini akan memberikan aplikasi kami URL yang akan memaparkan siaran dengan id 1:

http://example.com/posts/1

Walau bagaimanapun, untuk menyembunyikan id, kami boleh mengemas kini definisi laluan kami untuk menggunakan slug dan bukannya id. Contohnya:

Route::get('/posts/{post:slug}', function (Post $post) {
    return view('post', compact('post'));
});

Kini, kita boleh menggunakan medan slug untuk menggantikan id dalam URL kita. Sebagai contoh, kami boleh menggunakan URL berikut untuk memaparkan siaran yang sama:

http://example.com/posts/my-first-post

Apabila kami membuka URL itu, Laravel akan menggunakan model kami untuk mencari siaran yang sepadan dengan slug "siaran pertama saya" , dan hantarkannya sebagai parameter kepada pengawal kami. Kami boleh mengakses sifat dan kaedah siaran dengan cara yang sama seperti sebelumnya, contohnya:

<h1>{{ $post->title }}</h1>
<p>{{ $post->content }}</p>

Dengan menggunakan cara ini, kami boleh menyembunyikan id dalam aplikasi kami dan sebaliknya menggunakan medan. Ini boleh menjadi sangat berguna dalam sesetengah aplikasi, contohnya:

  • Halang pengguna daripada mengakses terus data sensitif daripada URL
  • Tingkatkan keselamatan aplikasi anda untuk memastikan hanya akses yang dibenarkan sahaja boleh memperoleh data
  • Tingkatkan kemesraan pengguna dan gunakan URL yang lebih baik dan lebih mudah dibaca

Ringkasnya, rangka kerja Laravel menyediakan banyak alat dan ciri yang berguna, menggunakan pengikatan model laluan boleh membantu kami menyembunyikan ID dan tingkatkan keselamatan dan kemesraan pengguna aplikasi kami. Jika anda seorang pembangun Laravel, adalah disyorkan agar anda mencuba teknik ini untuk meningkatkan kualiti keseluruhan aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan id dalam laravel. 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