Pengurusan Kuki CakePHP
Sep 10, 2024 pm 05:26 PMMengendalikan Kuki dengan CakePHP adalah mudah dan selamat. Terdapat kelas Pengurusan Kuki CakePHPComponent yang digunakan untuk menguruskan Pengurusan Kuki CakePHP. Kelas menyediakan beberapa kaedah untuk bekerja dengan Kuki.
Untuk menggunakan kuki, tambahkan 2 kelas ini pada pengawal anda ?
use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHP; use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection;
Objek kuki perlu dibuat terlebih dahulu untuk mendaftar kuki.
$cookie = new Pengurusan Kuki CakePHP(name,value,expiration time,path,domain);
Nama dan nilai adalah wajib dan yang lain adalah param pilihan.
Tulis Kuki
Berikut ialah sintaks untuk menulis kuki.
$cookie = new Pengurusan Kuki CakePHP(name,value,expiration time,path,domain);
Kuki yang dibuat perlu ditambahkan pada kukiCollection seperti yang ditunjukkan di bawah ?
$cookie = new Pengurusan Kuki CakePHP('name','XYZ'); $cookies = new Pengurusan Kuki CakePHPCollection([$cookie]);
Jika objek pengumpulan kuki sudah dibuat, kuki yang lain boleh ditambah seperti yang ditunjukkan di bawah ?
$cookies = $cookies->add($cookie);
Baca Kuki
Untuk membaca kuki gunakan kaedah get() daripada cookiecollection.
Sintaks
Sintaks untuk kuki baca adalah seperti berikut ?
Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::get($name)
Ini akan mengembalikan anda cookiecollection Interface, untuk mendapatkan nilai cookie, anda perlu memanggil kaedah getValue().
Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection Interface::getValue()
Kuki Semak
Kaedah has() daripada cookieCollection akan memberitahu anda, jika cookie itu ada atau tidak.
Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::has($name)
Contoh
echo $isPresent = $this->cookies->has('name');
Padam Kuki
Kaedah move() digunakan untuk memadamkan kuki. Berikut ialah sintaks kaedah remove().
Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection::remove($name)
Kaedah remove() akan mengambil satu hujah, nama pembolehubah kuki ($nama) untuk dipadamkan.
Contoh 1
$test = $this->cookies->remove('name');
Contoh 2
Buat perubahan dalam fail config/routes.php seperti yang ditunjukkan dalam program berikut.
config/routes.php
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('cookie/testcookies',['controller'=>'Pengurusan Kuki CakePHPs','action'=>'testPengurusan Kuki CakePHPs']); $builder->fallbacks(); });
Buat fail Pengurusan Kuki CakePHPsController.php di src/Controller/Pengurusan Kuki CakePHPsController.php. Salin kod berikut dalam fail pengawal.
src/Controller/Pengurusan Kuki CakePHPs/Pengurusan Kuki CakePHPsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHP; use Cake\Http\Pengurusan Kuki CakePHP\Pengurusan Kuki CakePHPCollection; class Pengurusan Kuki CakePHPsController extends AppController{ public $cookies; public function testPengurusan Kuki CakePHPs() { $cookie = new Pengurusan Kuki CakePHP('name','XYZ'); $this->cookies = new Pengurusan Kuki CakePHPCollection([$cookie]); $cookie_val = $this->cookies->get('name'); $this->set('cookie_val',$cookie_val->getValue()); $isPresent = $this->cookies->has('name'); $this->set('isPresent',$isPresent); $this->set('count', $this->cookies->count()); $test = $this->cookies->remove('name'); $this->set('count_afterdelete', $test->count()); } } ?>
Buat direktori Kuki di src/Templat dan di bawah direktori itu cipta fail Lihat bernama test_cookies.php. Salin mengikuti kod dalam fail itu.
src/Template/Pengurusan Kuki CakePHP/test_cookies.php
The value of the cookie is: <?php echo $cookie_val; ?> <br> <?php if($isPresent): ?> The cookie is present. <?php else: ?> The cookie isn't present. <?php endif; ?> <br> <?php echo "The count of cookie before delete is :" .$count; ?> <br> <?php echo "The count of cookie after delete is :" .$count_afterdelete; ?>
Output
Laksanakan contoh di atas dengan melawati URL berikut ? http://localhost/cakephp4/cookie/testcookies

Atas ialah kandungan terperinci Pengurusan Kuki CakePHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Inphp, variablesarepassedbyvalueDefault, arequFunctionsorassignmentsReceiveacopyofthedata, sementara

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Sebab mengapa header ('Lokasi: ...') Dalam permintaan Ajax tidak sah adalah bahawa penyemak imbas tidak akan secara automatik melakukan pengalihan halaman. Kerana dalam permintaan AJAX, kod status 302 dan maklumat header lokasi yang dikembalikan oleh pelayan akan diproses sebagai data tindak balas, dan bukannya mencetuskan tingkah laku lompat. Penyelesaian adalah: 1. Kembali data JSON dalam PHP dan termasuk URL Jump; 2. Semak medan redirect di hadapan Ajax callback dan lompat secara manual dengan window.location.href; 3. Pastikan output PHP hanya JSON untuk mengelakkan kegagalan parsing; 4. Untuk menangani masalah lintas domain, anda perlu menetapkan tajuk CORS yang sesuai; 5. Untuk mengelakkan gangguan cache, anda boleh menambah cap waktu atau tetapkan cache: f

Untuk mengelakkan rampasan sesi dalam PHP, langkah -langkah berikut perlu diambil: 1. Gunakan HTTPS untuk menyulitkan penghantaran dan set session.cookie_secure = 1 dalam php.ini; 2. Tetapkan atribut kuki keselamatan, termasuk httponly, selamat dan samesite; 3. Panggil session_regenerate_id (benar) apabila pengguna log masuk atau keizinan berubah menjadi berubah menjadi SesiSeId; 4. Hadkan kitaran hayat sesi, konfigurasi GC_MAXLIFETIME dan rekod masa aktiviti pengguna; 5. melarang mendedahkan sessionId ke url, dan tetapkan session.use_only

Dalam PHP, anda boleh menggunakan kurungan persegi atau pendakap keriting untuk mendapatkan aksara indeks spesifik rentetan, tetapi kurungan persegi disyorkan; Indeks bermula dari 0, dan akses di luar julat mengembalikan nilai null dan tidak dapat diberikan nilai; MB_SUBSTR dikehendaki mengendalikan watak multi-bait. Sebagai contoh: $ str = "hello"; echo $ str [0]; output h; dan watak -watak Cina seperti MB_SUBSTR ($ str, 1,1) perlu mendapatkan hasil yang betul; Dalam aplikasi sebenar, panjang rentetan perlu diperiksa sebelum gelung, rentetan dinamik perlu disahkan untuk kesahihan, dan projek berbilang bahasa mengesyorkan menggunakan fungsi keselamatan multi-bait secara seragam.

Fungsi urlencode () digunakan untuk menyandikan rentetan ke dalam format selamat URL, di mana aksara bukan alphanumerik (kecuali-, _, dan.) Digantikan dengan tanda peratus diikuti oleh nombor heksadesimal dua angka. Sebagai contoh, ruang ditukar kepada tanda-tanda, tanda seru ditukar kepada!, Dan watak-watak Cina ditukar kepada borang pengekodan UTF-8 mereka. Apabila menggunakan, hanya nilai parameter yang perlu dikodkan, bukan keseluruhan URL, untuk mengelakkan merosakkan struktur URL. Untuk bahagian lain URL, seperti segmen laluan, fungsi Rawurlencode () harus digunakan, yang menukarkan ruang ke. Apabila memproses parameter array, anda boleh menggunakan http_build_query () untuk mengodkan secara automatik, atau memanggil urlencode secara manual () pada setiap nilai untuk memastikan pemindahan data yang selamat. Hanya

Cara yang paling langsung untuk mencari kejadian terakhir substring dalam PHP ialah menggunakan fungsi StrrpOS (). 1. Gunakan fungsi strrpos () untuk mendapatkan indeks kejadian terakhir substring dalam rentetan utama. Jika ia tidak dijumpai, ia mengembalikan palsu. Sintaks adalah strrpos ($ haystack, $ jarum, $ offset = 0). 2. Jika anda perlu mengabaikan kes, anda boleh menggunakan fungsi strripos () untuk melaksanakan carian kes-insensitif. 3. Bagi watak multi-bait seperti Cina, fungsi MB_STRRPOS () dalam lanjutan MBSTRING harus digunakan untuk memastikan kedudukan watak dikembalikan dan bukannya kedudukan byte. 4. Perhatikan bahawa strrpos () pulangan f
