cari
Rumahpembangunan bahagian belakangtutorial phpKeahlian dengan Laravel Cashier

Keahlian dengan Laravel Cashier

Dalam tutorial ini kita akan melihat betapa mudahnya untuk membuat laman web keahlian yang dibayar asas menggunakan pakej Laravel Cashier. Anda dapat melihat demo aplikasi di sini dan memuat turun kod sumber di sini.

Takeaways Key

    Laravel Cashier memudahkan penciptaan laman web keahlian yang dibayar asas dengan menguruskan pengebilan langganan, pengendalian kupon, langganan swap, tempoh tangguh pembatalan, dan menjana PDF invois.
  • Untuk mengintegrasikan juruwang Laravel ke dalam projek Laravel yang sedia ada, pasang pakej melalui komposer, jalankan penghijrahan untuk menambah lajur yang diperlukan ke meja pengguna, sediakan kunci API, dan tambahkan sifat yang boleh ditagih ke model.
  • Laravel Cashier boleh mengendalikan pembayaran yang gagal dengan mencuba semula pembayaran secara automatik. Sekiranya pembayaran terus gagal, langganan akan dibatalkan.
  • Laravel Cashier kini menyokong hanya Stripe dan Braintree tetapi boleh diperluaskan untuk bekerja dengan gerbang pembayaran lain dengan pemahaman yang baik tentang Laravel dan API Gateway Pembayaran.
menyediakan persekitaran kerja

kita perlu membuat projek boilreplate untuk memulakan, dan kita boleh melakukannya dengan dua cara yang berbeza:

    kita boleh mengklonkan repo github ke folder projek kami.
  • Dengan mengandaikan bahawa anda mempunyai komposer yang dipasang, (periksa panduan pemasangan untuk maklumat lanjut).
  • Kami menjalankan komposer membuat projek laravel/laravel laravel_membership-prefer-dist, ini akan membuat projek boilerplate laravel dalam folder laravel_membership kami.
Sekarang kita perlu menghendaki pakej juruwang Laravel ke projek itu dengan menambahkan "Laravel/juruwang": "~ 1.0" kepada Composer.json kami pada bahagian yang diperlukan dan menjalankan kemas kini komposer untuk mengemas kini kebergantungan kami.

selepas itu kita perlu memberitahu aplikasi kami untuk memuatkan kelas penyedia perkhidmatan juruwang. Kami boleh melakukannya dengan menambahkan "LaravelcashiercashierserviceProvider" kepada array penyedia pada fail config/app.php.

nota: anda mesti menjalankan komposer dump-autoload untuk mengemas kini pakej kelas.

Membuat pangkalan data menggunakan Migrasi

Jika anda baru untuk migrasi Larave pastikan anda menyemak dokumentasi.

Kami akan menggunakan dua jadual:

Jadual Posts:

- int id
- Tajuk String
- Kandungan Long_text
- bool is_premium

Jadual Pengguna:

- int id
- Varchar (60) E -mel
- VARCHAR (60) Kata Laluan

Alat baris perintah Artisan Laravel menjadikannya mudah untuk membuat dan mengurus kelas migrasi.

<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>
dan kemudian kami mengisi skema :: membuat hujah fungsi panggil balik dengan kod yang diperlukan yang kelihatan seperti ini

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
Untuk membiarkan juruwang Laravel tahu tentang jadual yang boleh dibilkan kami, kami perlu membuat penghijrahan khusus untuk itu. Juruwang Laravel mempunyai perintah yang dibina untuk tujuan itu.

<span>php artisan cashier:table users</span>
sekarang kami sudah bersedia untuk memindahkan pangkalan data kami

<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>

Jika anda membuka jadual pengguna anda, anda akan melihat sekumpulan medan yang ditambahkan apabila penghijrahan pakej dilaksanakan.
- Stripe_active jika anda mempunyai langganan aktif.
- ID Pengguna Stripe_id pada pelayan Stripe.
- Pelan langganan Stripe_Plan Stripe.
- Kad kredit last_four empat digit terakhir.
- trial_ends_at Tarikh akhir disimpan jika anda menentukan tempoh percubaan.
- Tarikh Akhir Langganan Langganan_ends_at.

Sekarang kita akan membiakkan pangkalan data dengan beberapa data dummy untuk memulakan; Semak hasil akhir pada GitHub.

Proses Pengebilan Stripe

berurusan dengan pembayaran boleh menjadi sakit di leher, dan jalur dapat membantu anda dengan itu, mereka menggunakan token dan bukannya nombor kad dan lain -lain., Dan itulah cara anda dapat memastikan pelanggan anda tetap selamat sambil membayar untuk perkhidmatan anda .

NOTA: Semak jika Stripe disokong di negara anda, tetapi anda masih boleh menggunakannya untuk ujian jika tidak.

Untuk bermula, kita perlu mendapatkan akaun terlebih dahulu. Stripe tidak mempunyai yuran bulanan untuk langganan, anda hanya membayar apabila anda dibayar.

Sekarang, setelah mendapat akaun, anda perlu membuat rancangan untuk permohonan anda (bulanan, tahunan, perak, emas ...).

Keahlian dengan Laravel Cashier

Setiap bidang adalah penjelasan diri, jadi mari buat keahlian emas yang akan menelan kos $ 40 dan keanggotaan asas untuk $ 10. Mereka akan dibilkan setiap bulan.

Kami telah menambah lajur yang diperlukan untuk jadual pengguna kami, sekarang kami perlu membiarkan juruwang Laravel tahu bahawa kami akan menggunakan kelas pengguna sebagai kelas pengebilan kami.

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
Nota: Kami menggunakan BillableTrait dan ciri -ciri memerlukan Php 5.4 atau lebih besar.

Sekarang kita perlu menetapkan kunci Akses API Stripe kami, yang boleh anda dapatkan dari Akaun Anda> Tetapan Akaun> Kekunci API dan menyalin Kunci Rahsia Ujian anda.

Keahlian dengan Laravel Cashier dengan menggunakan BillableTrait, kami mendapat akses kepada pengguna :: SetStripeKey (Key) Kaedah yang boleh dipanggil di mana sahaja dalam kod kami, tetapi cara yang disukai adalah untuk membuat fail perkhidmatan.php di bawah direktori config anda dan mengembalikan array seperti Ini:

Apabila GetStripeKey cuba memuatkan kunci anda, ia akan mencari harta yang dipanggil Stripey. Sekiranya tidak dijumpai, ia akan memuatkan fail perkhidmatan anda secara automatik.

<span>php artisan cashier:table users</span>
Membuat halaman kami

untuk menjaga perkara yang mudah kita akan membuat hanya beberapa halaman:

- Pendaftaran: di mana pengguna boleh mendaftar dengan pelan keahlian (asas, emas).

- Log masuk: Halaman Log masuk Ahli.

- Menaik taraf: Menaik taraf dari Keahlian Asas ke Emas.
- Pos: Paparkan satu halaman pos.

Untuk mempercepatkan proses kami akan menggunakan Bootsnipp. Anda boleh mendapatkan kod akhir dari repo github.

Page Login:

Halaman log masuk mempunyai medan e -mel dan kata laluan asas, dengan halaman Logincontroller yang kelihatan seperti ini:

<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>

Page pendaftaran:

Keahlian dengan Laravel Cashier

Halaman pendaftaran mempunyai medan pelan langganan yang digunakan untuk menetapkan pengguna untuk merancang.

Kami juga mempunyai nombor kad kredit, tarikh tamat tempoh, Cvc.

Seperti yang kami katakan sebelum ini, kami tidak akan perlu menangani sebarang proses pembayaran atau pengesahan, kami lulus nilai -nilai tersebut ke pelayan jalur untuk menjaga proses pengecasan dan pengesahan.

Nilai pulangan adalah token dalam hal kejayaan jika tidak, kita mendapat mesej ralat yang dapat kita tunjukkan kepada pengguna.

mari kita lihat bagaimana kod depan-end kelihatan seperti:

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
Pertama kita memasukkan fail API JavaScript, maka kami menetapkan kunci awam kami yang kami ambil dari tetapan papan pemuka jalur kami.

Seterusnya kami melampirkan fungsi panggil balik ke borang penyerahan kami (pastikan ID borang anda sepadan dengan yang digunakan pada pengendali acara), untuk mengelakkan penyerahan ganda kami melumpuhkan butang hantar kami.

The Stripe.Card.CreateToken menerima dua hujah, yang pertama adalah objek JSON yang mempunyai beberapa nilai yang diperlukan dan pilihan.

Nilai yang diperlukan:

    Nombor: Nombor kad sebagai rentetan tanpa pemisah.
  • exp_month: Dua nombor digit yang mewakili bulan tamat kad.
  • exp_year: Dua atau empat nombor angka yang mewakili tahun tamat kad.
Nilai pilihan:

cvc: kod keselamatan kad sebagai rentetan, nombor CVC adalah pilihan tetapi disyorkan untuk membantu mencegah penipuan.
  • Nama: Nama Pemegang Kad.
  • alamat_line1: Baris alamat pengebilan 1.
  • alamat_line2: Line Alamat Pengebilan 2.
  • alamat_city: alamat pengebilan bandar.
  • alamat_state: keadaan alamat pengebilan.
  • alamat_ZIP: Bil zip sebagai rentetan.
  • alamat_country: Alamat pengebilan negara.
  • Anda dapat melihat bahawa kami melewati objek borang dan bukannya objek JSON, anda boleh memilih untuk merebut nilai secara manual atau menggunakan atribut HTML5 strip data pada input dan jalur anda akan menggunakan beberapa kaedah penolong untuk merebut nilai tersebut secara automatik untuk anda . Ex:

hujah kedua yang diluluskan ke stripe.card.createtoken kaedah adalah fungsi panggil balik untuk mengendalikan respons.
<span>php artisan cashier:table users</span>

Dalam kes kegagalan StriperSesponseHandler akan cuba mencari elemen dengan kelas Payment_errors untuk memaparkan beberapa kesilapan deskriptif kepada pengguna.

Sekiranya berjaya, input tersembunyi stripetoken akan dilampirkan kepada borang dan ia akan tersedia pada hantar.


Opsyen Tambahan

Tempoh Percubaan: Seperti yang telah kami nyatakan sebelum ini, apabila anda membuat pelan baru, anda mempunyai pilihan untuk menentukan tempoh percubaan untuk pengguna menguji produk anda, dan mereka tidak akan dikenakan bayaran sehingga tempoh yang ditentukan telah berlalu.
    Kupon: Anda membuat kupon melalui menu papan pemuka anda di mana anda boleh menentukan jumlah tetap atau mengikut peratusan, dengan beberapa pilihan berguna lain.
  • Sekarang mari kita pindah ke pendaftaran kami untuk melihat bagaimana kami akan mengendalikan ini.
<span>php artisan migrate:make create_posts_table --create="posts"
</span><span>
</span><span>php artisan migrate:make create_users_table --create="users"</span>

kami akan melangkau proses pengesahan untuk memastikan perkara mudah. ​​

Selepas membuat pengguna baru dan menyimpannya, kami kini mempunyai pilihan untuk melanggan pengguna ke pelan keahlian baru. Kaedah langganan menerima pelan yang telah didaftarkan sebagai hujah, yang boleh menjadi planinterface atau rentetan dan mengembalikan jalur.
Kaedah membuat menerima token sebagai parameter; Kami lulus nilai input tersembunyi baru dengan nama stripetoken.

Menaik taraf halaman:

Keahlian dengan Laravel Cashier

Halaman Peningkatan akan mengemukakan kepada UpgradeController yang kelihatan seperti ini:

<span>Schema::create('posts', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('title');
</span><span>    $table->longText('content');
</span><span>    $table->boolean("is_premium");
</span><span>    $table->timestamps();
</span><span>});
</span><span>
</span><span>Schema::create('users', function(Blueprint $table)
</span><span>{
</span><span>    $table->increments('id');
</span><span>    $table->string('email', 100)->unique();
</span><span>    $table->string('password', 60);
</span><span>    $table->timestamps();
</span><span>});</span>
kami periksa sama ada pengguna dilog masuk terlebih dahulu, maka kami membuat langganan baru dengan pelan baru dan kami memanggil kaedah swap, jelas dalam projek sebenar anda akan mempunyai beberapa pelarasan yuran dan pilihan penurunan, tetapi ia harus berfungsi cara yang sama.

Halaman pos:

Keahlian dengan Laravel Cashier pemeriksaan postcontroller jika post is_premium, dan jika ya, kami menguji jika pengguna adalah ahli emas yang dapat melihat jawatan itu, jika tidak, kami mengembalikan mesej ralat mudah. ​​

Sudah tentu dalam fail routes.php kami, kami perlu menambah penapis auth untuk mengelakkan pengguna yang tidak disahkan daripada mengakses halaman.
<span>php artisan cashier:table users</span>
Fail laluan kami akan kelihatan seperti ini:


Kaedah berguna lain
<span>php artisan migrate</span>

denganCoupon: Kami berkata sebelum ini bahawa kami mempunyai kemungkinan untuk membuat kupon diskaun, dalam contoh kami, kami boleh melakukannya seperti itu:
<span>use Laravel\Cashier\BillableInterface;
</span><span>use Laravel\Cashier\BillableTrait;
</span><span>
</span><span>class User extends Eloquent implements BillableInterface {
</span><span>
</span><span>    use BillableTrait;
</span><span>    protected $dates = ['trial_ends_at', 'subscription_ends_at'];</span>
Batal: Anda boleh membatalkan langganan dengan mudah menggunakan kaedah ini, tetapi anda perlu menyemak sama ada pengguna adalah ongraceperiod untuk memastikan anda tidak menyekatnya dengan segera:
<span>return [
</span><span>    'stripe' => [
</span><span>            'secret'    => 'Your key'
</span><span>        ]
</span><span>];</span>
onplan: Lihat jika pengguna berada dalam pelan tertentu.
  • ontrial: Lihat jika pengguna masih dalam tempoh percubaan.
  • dibatalkan: Jika pengguna telah membatalkan langganan mereka.
  • getlastfourcarddigits: Dapatkan kad pengguna empat digit terakhir.
  • getSubscriptionEndDate: Dapatkan tarikh langganan.
  • gettrialenddate: Dapatkan tarikh akhir percubaan.
  • Invois: Dapatkan senarai invois pengguna.
  • findinvoice: Cari invois oleh id.
  • muat turunInvoice: menghasilkan invois yang boleh dimuat turun dengan id.
  • Kesimpulan

Dalam tutorial ini, kami meneroka bagaimana juruwang Laravel dapat meringankan proses pengebilan dan membantu menguruskan pelanggan anda dengan lebih mudah. ​​

kami pastinya tidak merangkumi segala -galanya di sini, tetapi ia adalah permulaan untuk anda menggali kod sumber untuk meneroka apa lagi yang boleh anda lakukan. Jika anda ingin melihat demo hosted nitrous aplikasi ini, lihat di sini.

Soalan Lazim (Soalan Lazim) Mengenai Keahlian Juruwang Laravel

Bagaimanakah Laravel Cashier mengendalikan bil langganan? Ia menyediakan antara muka ekspresif, fasih untuk perkhidmatan pengebilan langganan Stripe dan Braintree. Ia mengendalikan hampir semua kod pengebilan langganan boilerplate yang anda penulisan. Juruwang Laravel boleh mengendalikan kupon, langganan swap, langganan "kuantiti", tempoh tangguh pembatalan, dan juga menjana pdf invois. 'LL perlu membuat akaun jalur dan memasang pakej juruwang melalui komposer. Anda juga perlu menambah sifat yang boleh dibilkan kepada definisi model anda - sifat ini menyediakan pelbagai kaedah untuk membolehkan anda melaksanakan tugas pengebilan yang sama, seperti membuat langganan, memohon kupon, dan mengemas kini maklumat kad. Saya mengintegrasikan juruwang Laravel ke dalam projek Laravel saya yang sedia ada? Pertama, anda perlu memasang pakej melalui komposer. Kemudian, anda perlu menyediakan pangkalan data dengan menjalankan penghijrahan yang menambah beberapa lajur ke jadual pengguna anda. Selepas itu, anda perlu menyediakan kunci API dan menambah sifat yang boleh dibilkan kepada model anda. Akhirnya, anda boleh menggunakan pelbagai kaedah yang disediakan oleh sifat yang boleh dibilkan untuk menguruskan langganan anda. Sekiranya pembayaran gagal, juruwang akan mencuba semula pembayaran secara automatik. Sekiranya pembayaran terus gagal, langganan akan dibatalkan. Walau bagaimanapun, anda juga boleh mengendalikan peristiwa -peristiwa ini secara manual dengan mendengar peristiwa yang berkaitan dan mengambil tindakan yang sesuai. Braintree. Walau bagaimanapun, anda boleh memperluaskan juruwang untuk bekerja dengan gerbang pembayaran lain jika anda mahu. Ini memerlukan pemahaman yang baik tentang kedua -dua Laravel dan API Gateway Pembayaran. . Apabila langganan dibatalkan, juruwang secara automatik akan menetapkan tarikh akhir langganan hingga akhir kitaran pengebilan semasa. menyokong tempoh percubaan. Anda boleh menetapkan tempoh percubaan ketika membuat langganan. Pengguna tidak akan dibilkan sehingga tempoh percubaan berakhir.

Bagaimana saya boleh menjana invois menggunakan juruwang Laravel? Anda boleh mengakses versi PDF yang boleh dimuat turun dari invois dengan memanggil kaedah muat turun pada contoh invois, yang akan menulis PDF ke cakera atau mengalirkannya ke penyemak imbas.

Ya, Laravel Cashier menyokong penggunaan kupon untuk langganan. Anda boleh melakukan ini dengan menggunakan kaedah WithCoupon semasa membuat langganan baru. Untuk langganan jenis "setiap tempat duduk". Anda boleh mengemas kini kuantiti langganan menggunakan kaedah kemas kini pada contoh langganan.

Atas ialah kandungan terperinci Keahlian dengan Laravel Cashier. 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
Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apr 25, 2025 am 12:16 AM

Sebab -sebab kegagalan phpsession termasuk kesilapan konfigurasi, isu cookie, dan tamat tempoh sesi. 1. Ralat Konfigurasi: Semak dan tetapkan session.save_path yang betul. Masalah 2.Cookie: Pastikan kuki ditetapkan dengan betul. 3.Session Expires: Laraskan Nilai Sesi.GC_MAXLifetime untuk melanjutkan masa sesi.

Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Apr 25, 2025 am 12:12 AM

Kaedah untuk masalah sesi debug dalam PHP termasuk: 1. Periksa sama ada sesi dimulakan dengan betul; 2. Sahkan penghantaran ID sesi; 3. Semak penyimpanan dan bacaan data sesi; 4. Semak konfigurasi pelayan. Dengan mengeluarkan ID dan data sesi, melihat kandungan fail sesi, dan lain-lain, anda boleh mendiagnosis dan menyelesaikan masalah yang berkaitan dengan sesi.

Apa yang berlaku jika session_start () dipanggil beberapa kali?Apa yang berlaku jika session_start () dipanggil beberapa kali?Apr 25, 2025 am 12:06 AM

Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Apr 25, 2025 am 12:05 AM

Mengkonfigurasi kitaran hayat sesi dalam PHP boleh dicapai dengan menetapkan sesi.gc_maxlifetime dan session.cookie_lifetime. 1) session.gc_maxlifetime mengawal masa survival data sesi pelayan, 2) session.cookie_lifetime mengawal kitaran hayat kuki klien. Apabila ditetapkan ke 0, kuki tamat apabila penyemak imbas ditutup.

Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apr 24, 2025 am 12:16 AM

Kelebihan utama menggunakan sesi penyimpanan pangkalan data termasuk kegigihan, skalabilitas, dan keselamatan. 1. Kegigihan: Walaupun pelayan dimulakan semula, data sesi tidak dapat berubah. 2. Skalabiliti: Berkenaan dengan sistem yang diedarkan, memastikan data sesi disegerakkan di antara pelbagai pelayan. 3. Keselamatan: Pangkalan data menyediakan storan yang disulitkan untuk melindungi maklumat sensitif.

Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Apr 24, 2025 am 12:16 AM

Melaksanakan pemprosesan sesi tersuai dalam PHP boleh dilakukan dengan melaksanakan antara muka sessionHandlerInterface. Langkah -langkah khusus termasuk: 1) mewujudkan kelas yang melaksanakan sessionHandlerInterface, seperti CustomSessionHandler; 2) kaedah penulisan semula dalam antara muka (seperti terbuka, rapat, membaca, menulis, memusnahkan, gc) untuk menentukan kitaran hayat dan kaedah penyimpanan data sesi; 3) Daftar pemproses sesi tersuai dalam skrip PHP dan mulakan sesi. Ini membolehkan data disimpan dalam media seperti MySQL dan REDIS untuk meningkatkan prestasi, keselamatan dan skalabiliti.

Apakah ID Sesi?Apakah ID Sesi?Apr 24, 2025 am 12:13 AM

SesionID adalah mekanisme yang digunakan dalam aplikasi web untuk mengesan status sesi pengguna. 1. Ia adalah rentetan yang dijana secara rawak yang digunakan untuk mengekalkan maklumat identiti pengguna semasa pelbagai interaksi antara pengguna dan pelayan. 2. Pelayan menjana dan menghantarnya kepada klien melalui kuki atau parameter URL untuk membantu mengenal pasti dan mengaitkan permintaan ini dalam pelbagai permintaan pengguna. 3. Generasi biasanya menggunakan algoritma rawak untuk memastikan keunikan dan ketidakpastian. 4. Dalam pembangunan sebenar, pangkalan data dalam memori seperti REDIS boleh digunakan untuk menyimpan data sesi untuk meningkatkan prestasi dan keselamatan.

Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Apr 24, 2025 am 12:12 AM

Menguruskan sesi dalam persekitaran tanpa kerakyatan seperti API boleh dicapai dengan menggunakan JWT atau cookies. 1. JWT sesuai untuk ketiadaan dan skalabilitas, tetapi ia adalah saiz yang besar ketika datang ke data besar. 2.Cookies lebih tradisional dan mudah dilaksanakan, tetapi mereka perlu dikonfigurasikan dengan berhati -hati untuk memastikan keselamatan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa