ស្វែងយល់ពីការប្រើប្រាស់ PHP filter

នៅក្នុងអត្ថបទនេះ នឹងបង្ហាញពីការតម្រង់ទិន្នន័យ (Data Filtering)  នៅក្នុងភាសា PHP ។ វាមានសារៈប្រយោជន៍ ណាស់ ចំពោះការសំរាំងទិន្នន័យ ដើម្បីជៀសវាងការបញ្ចូលទិន្នន័យខុសពីអ្នកប្រើប្រាស់ ឬការពារពីការជ្រៀតចូល ពីខាងក្រៅ (Hacker) ដោយប្រការណាមួយ ។

Data Filtering ត្រូវបានបែងចែកជាប្រភេទផ្សេងៗពីគ្នា ដូចខាងក្រោម៖

Validate Filter: ត្រូវបានគេប្រើសំរាប់សំរាំងទិន្នន័យ ឲ្យមានភាពត្រឹមត្រូវ រាល់ពេលអ្នកប្រើប្រាស់បញ្ចូលទិន្នន័យ ហើយមាន Flag ជាច្រើនសំរាប់ប្រើក្នុងកូដ ប៉ុន្តែខ្ញុំសូមលើកយកពីរមកបង្ហាញជាឧទាហរណ៍ តែប៉ុណ្ណោះ គឺ FILTER_VALIDATE_EMAIL  និងFILTER_VALIDATE_URL

ឧទាហរណ៍ទី១៖

data_filter_validate_email
ឧទាហរណ៍ទី២៖  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)

url_filter

Sanitize filters: ត្រូវបានគេប្រើប្រាស់ ដើម្បីការពារអ្នកប្រើប្រាស់វាយតួអក្សរខុស ឬតួអក្សរពិសេស ដោយចៃដន្យ ឬគ្មានចេតនា ឬ Copy ហើយ paste ដោយមានអក្សរពិសេស។ វានឹងលុបចេញនូវតួអក្សរដែលមិនត្រឹមត្រូវ (illegal Character)  ពីទិន្នន័យ ។

url_email_sanitize_filter

តាមឧទាហរណ៍ខាងលើ មានប្រើប្រាស់ Function មួយឈ្មោះ filter_var() ដែលអាចប្រើបានទាំង validate filters និង sanitize filter ដែលមាន ២ parameter គឺ អញ្ញតិដែលត្រូវពិនិត្យ (variable)  និងប្រភេទនៃការពិនិត្យ (validation ឬ sensitization) ។ នៅមាន Function ជាច្រើនទៀតសំរាប់ប្រើប្រាស់ ដូចជា៖

១. filter_has_var : ត្រួតពិនិត្យថាតើប្រភេទនៃអញ្ញត្តិកំពុងប្រើមានហើយឬនៅ។ ប្រភេទទាំងនោះមានដូចជា  INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVERINPUT_ENV

២. filter_id : បង្ហាញ Filter ID ផ្អែកទៅឈ្មោះរបស់ Filter ។

៣. filter_input_array: បង្ហាញតំលៃជាបញ្ជីនៃ Array ដែលមានប្រើក្នុងប្រភេទនៃអញ្ញតិ ( INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVERINPUT_ENV) ឬទេ

៤. filter_input : បង្ហាញតំលៃជា ដែលមានប្រើក្នុងប្រភេទនៃអញ្ញតិ ( INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVERINPUT_ENV) ឬទេ

៥. filter_list : បង្ហាញចេញនូវ Array នៃឈ្មោះដែល support នឹង Filter ទាំងអស់ ។

៦. filter_var_array : បង្ហាញតំលៃជាបញ្ជីនៃ Array របស់អញ្ញត្តិដែលជា Filter ។

៧. filter_var : បង្ហាញតំលៃរបស់អញ្ញត្តិដែលជា Filter។