នៅក្នុងអត្ថបទនេះ នឹងបង្ហាញពីការតម្រង់ទិន្នន័យ (Data Filtering) នៅក្នុងភាសា PHP ។ វាមានសារៈប្រយោជន៍ ណាស់ ចំពោះការសំរាំងទិន្នន័យ ដើម្បីជៀសវាងការបញ្ចូលទិន្នន័យខុសពីអ្នកប្រើប្រាស់ ឬការពារពីការជ្រៀតចូល ពីខាងក្រៅ (Hacker) ដោយប្រការណាមួយ ។
Data Filtering ត្រូវបានបែងចែកជាប្រភេទផ្សេងៗពីគ្នា ដូចខាងក្រោម៖
Validate Filter: ត្រូវបានគេប្រើសំរាប់សំរាំងទិន្នន័យ ឲ្យមានភាពត្រឹមត្រូវ រាល់ពេលអ្នកប្រើប្រាស់បញ្ចូលទិន្នន័យ ហើយមាន Flag ជាច្រើនសំរាប់ប្រើក្នុងកូដ ប៉ុន្តែខ្ញុំសូមលើកយកពីរមកបង្ហាញជាឧទាហរណ៍ តែប៉ុណ្ណោះ គឺ FILTER_VALIDATE_EMAIL
និងFILTER_VALIDATE_URL
។
ឧទាហរណ៍ទី១៖
ឧទាហរណ៍ទី២៖ FILTER_VALIDATE_URL
ត្រូវបានគេប្រើប្រាស់សំរាប់ត្រួតពិនិត្យមើល URL ដែលផ្តល់ឲ្យ ពិតជាត្រឹមត្រូវ ឬអត់។ ក្នុងនោះដែរ ក៏មាន Flag ចំនួន ៤ ទៀតសំរាប់ប្រើប្រាស់ ដូចជា៖
១. FILTER_FLAG_SCHEME_REQUIRED:
URL ត្រូវតែជា RFC Compliant (http://mydomain) ។
២. FILTER_FLAG_HOST_REQUIRED
: URL ត្រូវតែដាក់បញ្ចូលនូវ host name (http://www.mydomain.com) ។
៣. FILTER_FLAG_PATH_REQUIRED
: URL ត្រូវតែមានផ្នែក (path) នៅក្នុង Domain Name (http://www.mydomain.com/php/)
៤. FILTER_FLAG_QUERY_REQUIRED:
URL ត្រូវតែ Query String នៅក្នុង Domain Name (http://www.mydomain.com/admin.php?id=1&page=1)
Sanitize filters: ត្រូវបានគេប្រើប្រាស់ ដើម្បីការពារអ្នកប្រើប្រាស់វាយតួអក្សរខុស ឬតួអក្សរពិសេស ដោយចៃដន្យ ឬគ្មានចេតនា ឬ Copy ហើយ paste ដោយមានអក្សរពិសេស។ វានឹងលុបចេញនូវតួអក្សរដែលមិនត្រឹមត្រូវ (illegal Character) ពីទិន្នន័យ ។
តាមឧទាហរណ៍ខាងលើ មានប្រើប្រាស់ Function មួយឈ្មោះ filter_var() ដែលអាចប្រើបានទាំង validate filters និង sanitize filter ដែលមាន ២ parameter គឺ អញ្ញតិដែលត្រូវពិនិត្យ (variable) និងប្រភេទនៃការពិនិត្យ (validation ឬ sensitization) ។ នៅមាន Function ជាច្រើនទៀតសំរាប់ប្រើប្រាស់ ដូចជា៖
១. filter_has_var : ត្រួតពិនិត្យថាតើប្រភេទនៃអញ្ញត្តិកំពុងប្រើមានហើយឬនៅ។ ប្រភេទទាំងនោះមានដូចជា INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
ឬ INPUT_ENV
។
២. filter_id : បង្ហាញ Filter ID ផ្អែកទៅឈ្មោះរបស់ Filter ។
៣. filter_input_array: បង្ហាញតំលៃជាបញ្ជីនៃ Array ដែលមានប្រើក្នុងប្រភេទនៃអញ្ញតិ ( INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
ឬ INPUT_ENV
) ឬទេ
៤. filter_input : បង្ហាញតំលៃជា ដែលមានប្រើក្នុងប្រភេទនៃអញ្ញតិ ( INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
ឬ INPUT_ENV
) ឬទេ
៥. filter_list : បង្ហាញចេញនូវ Array នៃឈ្មោះដែល support នឹង Filter ទាំងអស់ ។
៦. filter_var_array : បង្ហាញតំលៃជាបញ្ជីនៃ Array របស់អញ្ញត្តិដែលជា Filter ។
៧. filter_var : បង្ហាញតំលៃរបស់អញ្ញត្តិដែលជា Filter។