Cookie
Cookie នៅក្នុង PHP
Cookie គឺជាឯកសារតូចដែល server បញ្ជូនទៅ browser របស់អ្នកប្រើប្រាស់ ហើយរក្សាទុកនៅកុំព្យូទ័ររបស់ពួកគេ។
🍪 Cookie គឺអ្វី?
Cookie ត្រូវបានប្រើដើម្បីរក្សាព័ត៌មានអំពីអ្នកប្រើប្រាស់រវាងការចូលមើលគេហទំព័រផ្សេងៗគ្នា។
| លក្ខណៈ | ពិពណ៌នា |
|---|---|
| រក្សាទុកនៅ | Browser របស់អ្នកប្រើប្រាស់ |
| ទំហំអតិបរមា | 4KB (4096 bytes) |
| រយៈពេល | អាចកំណត់បាន (លុបពេលបិទ browser ឬតាមពេលកំណត់) |
| សុវត្ថិភាព | អាចមើលឃើញនិងកែប្រែបានដោយអ្នកប្រើប្រាស់ |
📝 បង្កើត Cookie
ប្រើមុខងារ setcookie() ដើម្បីបង្កើត cookie:
setcookie(name, value, expire, path, domain, secure, httponly);
| ប៉ារ៉ាម៉ែត្រ | ពិពណ៌នា | ឧទាហរណ៍ |
|---|---|---|
| name | ឈ្មោះ cookie (ត្រូវការ) | "username" |
| value | តម្លៃ cookie | "Sokha" |
| expire | ពេលផុតកំណត់ (timestamp) | time() + 3600 |
| path | ផ្លូវលើ server | "/" (ទាំងអស់) |
| domain | ដែនដែល cookie ដំណើរការ | "example.com" |
| secure | បញ្ជូនតាម HTTPS តែប៉ុណ្ណោះ | true/false |
| httponly | ចូលដំណើរការតាម HTTP តែប៉ុណ្ណោះ | true/false |
PHP Code
📖 អាន Cookie
Cookie ត្រូវបានរក្សាទុកក្នុង $_COOKIE superglobal array:
PHP Code
🔄 កែប្រែ Cookie
ដើម្បីកែប្រែ cookie, គ្រាន់តែបង្កើតវាឡើងវិញដោយប្រើឈ្មោះដូចគ្នា:
PHP Code
🗑️ លុប Cookie
ដើម្បីលុប cookie, កំណត់ពេលផុតកំណត់ជាអតីតកាល:
PHP Code
⏰ ពេលវេលាផុតកំណត់
| រយៈពេល | កូដ | ពន្យល់ |
|---|---|---|
| 1 ម៉ោង | time() + 3600 | 3600 វិនាទី = 1 ម៉ោង |
| 1 ថ្ងៃ | time() + 86400 | 86400 វិនាទី = 24 ម៉ោង |
| 1 សប្តាហ៍ | time() + 604800 | 7 ថ្ងៃ |
| 30 ថ្ងៃ | time() + (30 * 24 * 3600) | 1 ខែ |
| 1 ឆ្នាំ | time() + (365 * 24 * 3600) | 365 ថ្ងៃ |
| Session Cookie | 0 ឬមិនកំណត់ | លុបពេលបិទ browser |
PHP Code
🔍 ពិនិត្យថា Cookie មានឬអត់
PHP Code
🎯 ឧទាហរណ៍ជាក់ស្តែង: ចងចាំឈ្មោះអ្នកប្រើប្រាស់
PHP Code
🔐 សុវត្ថិភាព Cookie
| បញ្ហា | ដំណោះស្រាយ |
|---|---|
| អាចមើលឃើញបាន | កុំរក្សាព័ត៌មានសម្ងាត់ក្នុង cookie |
| XSS Attack | ប្រើ httponly flag |
| ចាប់បានលើបណ្តាញ | ប្រើ secure flag (HTTPS) |
| ទំហំកំណត់ | រក្សាទិន្នន័យតិចតួច (< 4KB) |
PHP Code
📊 Cookie vs Session
| លក្ខណៈ | Cookie | Session |
|---|---|---|
| រក្សាទុកនៅ | Browser (client-side) | Server (server-side) |
| ទំហំ | 4KB | គ្មានកំណត់ |
| សុវត្ថិភាព | តិច (អាចមើល/កែបាន) | ខ្ពស់ (server-side) |
| រយៈពេល | អាចកំណត់បាន | លុបពេលបិទ browser |
| ប្រើសម្រាប់ | ចងចាំការកំណត់ | ទិន្នន័យ sensitive (login) |
⚠️ សំខាន់: setcookie() ត្រូវហៅមុនការបង្ហាញ HTML ណាមួយ! ដូចគ្នានឹង header()។
💡 Tips: ប្រើ cookie សម្រាប់រក្សាការកំណត់អ្នកប្រើប្រាស់ (theme, language) និង session សម្រាប់ទិន្នន័យ sensitive (login info)។
