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)។