វចនានុក្រម · Fingerprinting
Canvas fingerprinting
ការកំណត់អត្តសញ្ញាណឧបករណ៍តាមរយៈភាពខុសគ្នាតិចតួចក្នុងការបង្ហាញរូបភាព HTML canvas drawing។
និយមន័យ
Canvas fingerprinting គឺជាបច្ចេកទេសមួយដែលទំព័រវេបសាយគូរអត្ថបទ ឬរូបរាងដោយប្រើ HTML Canvas API ហើយអានត្រឡប់មកវិញនូវភិចសែល (pixels) ដែលទទួលបាន។ ដោយសារការបង្ហាញរូបភាព (rendering) អាស្រ័យលើ GPU, កម្មវិធីបញ្ជាក្រាហ្វិក (graphics driver), ពុម្ពអក្សរ (fonts) និងការធ្វើឱ្យគែមរូបភាពរលោង (anti-aliasing) លទ្ធផលអាចមានភាពខុសគ្នាបន្តិចបន្តួចរវាងឧបករណ៍នីមួយៗ ហើយតម្លៃ hash នៃលទ្ធផលនោះនឹងក្លាយជាសញ្ញាសម្គាល់ fingerprint មួយ។
របៀបដែលវាដំណើរការ
- Script មួយបង្កើត canvas element (ជាញឹកញាប់គឺមើលមិនឃើញ) ហើយគូរអត្ថបទ, emoji, ពណ៌ក្រឡា (gradients) ឬរូបរាងជាមួយនឹង context 2D។
- វាអានលទ្ធផលដោយប្រើវិធីសាស្ត្រដូចជា toDataURL(), ដែលផ្តល់មកវិញនូវរូបភាពជា data URL, ឬ getImageData()។
- ទិន្នន័យភិចសែលត្រូវបានធ្វើ hash។ ការកំណត់រចនាសម្ព័ន្ធដូចគ្នាមាននិន្នាការបង្កើត hash ដូចគ្នា; ចំណែកឯ hardware ឬ បណ្តុំពុម្ពអក្សរខុសគ្នា ជាញឹកញាប់មិនដូចគ្នានោះទេ។
ហេតុអ្វីបានជាវាមានសារៈសំខាន់
- វាមិនត្រូវការការសុំការអនុញ្ញាត (permission prompt) ឡើយ ហើយដំណើរការដោយមិនចាំបាច់មាន cookies ដូច្នេះវាត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយដោយ script តាមដាន និង script ការពារការបន្លំ (anti-fraud)។
- វាគឺជាសញ្ញាមួយក្នុងចំណោមសញ្ញាដែល antidetect browsers និង browsers ដែលផ្តោតលើឯកជនភាពព្យាយាមគ្រប់គ្រង មិនថាដោយការធ្វើឱ្យលទ្ធផលបង្ហាញមានភាពស៊ីសង្វាក់គ្នា ឬដោយការបន្ថែមសំឡេងរំខាន (noise) នោះទេ។
ដែនកំណត់ និងការយល់ច្រឡំទូទៅ
- "Canvas តែមួយមុខអាចកំណត់អត្តសញ្ញាណខ្ញុំបាន"។ វាគ្រាន់តែជាសញ្ញាមួយប៉ុណ្ណោះ; ជាធម្មតាវាត្រូវបានរួមបញ្ចូលជាមួយសញ្ញាផ្សេងទៀតដូចជា WebGL, ពុម្ពអក្សរ និងទិន្នន័យអេក្រង់។
- "ការបន្ថែមសំឡេងរំខានដោយចៃដន្យគឺមើលមិនឃើញ"។ សំឡេងរំខានដែលផ្លាស់ប្តូររាល់ពេលអាន ខ្លួនវាផ្ទាល់អាចត្រូវបានរកឃើញដោយការគូររូបភាពដដែលពីរដង រួចធ្វើការប្រៀបធៀប។
ឧទាហរណ៍៖ ការគូរប្រយោគដដែលក្នុងពុម្ពអក្សរដដែលនៅលើ laptop ដែលមាន graphics បញ្ចូលក្នុងខ្លួន និងនៅលើ desktop ដែលមាន discrete GPU អាចបង្កើតឱ្យមានភាពខុសគ្នានៃភិចសែលដែលភ្នែកមើលមិនឃើញ ប៉ុន្តែមានភាពខុសគ្នាពេលធ្វើ hash។
គ្មានកម្មវិធីរុករក ឬ proxy ណាមួយអាចធានាថាគណនីនឹងមិនត្រូវបានរឹតត្បិតនោះទេ។ សូមអនុវត្តតាមច្បាប់នៃកម្មវិធីនីមួយៗ។
ពាក្យពាក់ព័ន្ធ
- Browser fingerprint — ការរួមបញ្ចូលគ្នានៃលក្ខណៈពិសេសរបស់កម្មវិធីរុករក និងឧបករណ៍ ដែលអាចកំណត់អត្តសញ្ញាណកម្មវិធីរុករកបានដោយមិនចាំបាច់មាន cookies។
- WebGL fingerprinting — ការប្រើប្រាស់ព័ត៌មានក្រាហ្វិក WebGL និងលទ្ធផលនៃការបង្ហាញរូបភាព (rendering output) ដើម្បីកំណត់អត្តសញ្ញាណឧបករណ៍។
មគ្គុទ្ទេសក៍ពាក់ព័ន្ធ
ប្រភព
- MDN: Canvas API (ឯកសារកម្មវិធីរុករក)
- MDN: HTMLCanvasElement.toDataURL() (ឯកសារកម្មវិធីរុករក)
- W3C: ការកាត់បន្ថយការកំណត់អត្តសញ្ញាណតាមរយៈ Browser Fingerprinting នៅក្នុង Web Specifications (ស្តង់ដារ)
បានត្រួតពិនិត្យ 2026-11-07។