#AskMe

របៀប Encrypt និង Decrypt connection string ក្នុង ASP.NET

មាតិកា

I.   សេចក្តីផ្តើម

II. របៀប Encryption Connection String

III. របៀប Decryption Connection Strings

I.          សេចក្តីផ្តើម

ប្រសិនបើយើងមានវេបសាយជា shared web hosting service យើងប្រហែលជាមានការព្រួយបារម្ភអំពីវេបសាយរបស់យើងដែលអាចត្រូវបានគេលួចយក (hack)។ នេះគឺជាអ្វីដែលពិតជានឹងអាចកើតមានឡើងគឺ user ធ្វើការ request តាមរយៈ HTTP នោះ web application របស់យើងដំណើរការនូវ request ដោយរួមមានការភ្ជាប់ទៅកាន់ database ហើយនិង return លទ្ធផលមកអោយ user វិញ។ ដូចនេះការ send connection string នៅលើ HTTP គឺគ្រាន់តែជា plain text តែប៉ុណ្ណោះ។

Connection strings នៅក្នុង web.config file មានផ្ទុកទៅដោយព័ត៌មានសំខាន់អំពី database ដូចជា connection string របស់ parameters។ ដើម្បីបញ្ចៀសនូវបញ្ហាទាំងនេះ យើងអាចពង្រឹង security នូវព័ត៌មានសំខាន់ៗដែលត្រូវបាន store ទុកនៅក្នុង connection string ដោយប្រើប្រាស់នូវមុខងាររបស់ configuration ដែលមានស្រាប់ (built in) ដើម្បីធ្វើការ encrypt ឬក៏ decrypt នូវ sections មួយចំនួនរបស់ web.config file។

យើងអាចប្រើប្រាស់ encrypt connection string នៃ web.config file ដោយប្រើប្រាស់ command line tool មួយឈ្មោះថា aspnet_regiis.exe ដូចនេះ connection string មិនត្រូវបានផ្ទុកជា plain text ទៀតឡើយ។​ ចំពោះទីតាំង file ត្រូវបានផ្ទុកក្នុង path: “%systemroot%\Microsoft.NET\Framework\versionNumber”។

សូមចូលទៅកាន់ C:\Windows\Microsoft.NET\Framework\v4.0.30319

II.          របៀប Encryption Connection String

សន្មតថាយើងបានបង្កើត project មួយរួចរាល់ដែលមានឈ្មោះថា​ “MyWebApp” ដែលមាន structure ដូចរូបខាងក្រោមនេះ

យើងឃើញថា connectionStrings របស់យើងត្រូវបានគេមើលដឹងទាំងអស់ ដោយមិនត្រូវបានលាក់ឡើយ។

aspnet_regiis  -pef  “connectionStrings”  “D:\010_Testing\MyWebApp\MyWebApp”

កំណត់ចំណាំៈ Parameter “connectionStrings” គឺប្រកាន់តួអក្សរ (case sensitive)

ដើម្បីកាន់តែច្បាស់សូមមើលរូបខាងក្រោមៈ

បន្ទាប់ពីយើងបានធ្វើ encryption ទៅលើ connectionStrings រួចរាល់ហើយនោះconnectionStrings របស់យើងនឹងបង្ហាញជា format ដូចខាងក្រោម

III.          របៀប Decryption Connection Strings

វិធីសាមញ្ញក្នុងការប្រើប្រាស់ command ដើម្បី decrypt នូវ connectionStrings elements នៅក្នុង Web.config file.

aspnet_regiis  -pdf  “connectionStrings”  “D:\010_Testing\MyWebApp\MyWebApp”