របៀប 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 តែប៉ុណ្ណោះ។

  • Encrypt ឬក៏ Decrypt Connection Strings ក្នុង a web.config file

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

  • តើ encrypting the connection string in ASP.NET ធ្វើឡើងយ៉ាងដូចម្តេច ?

យើងអាចប្រើប្រាស់ 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 ដូចរូបខាងក្រោមនេះ

  • មុនពេល Encrypt Web.config

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

  • ការធ្វើ encryption ទៅលើ Web.config
    • បើក Command Prompt ជាមួយសិទ្ធិជា Administrator
    • ក្នុង Command Prompt សូមបញ្ចូល
      • cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
    • ក្នុងករណីនេះ web config របស់ខ្ញុំស្ថិតនៅក្នុងទីតាំង D:\010_Testing\MyWebApp\MyWebApp បន្ទាប់មកសូមវាយបញ្ចូលនូវ encrypt connectionStrings ដូចខាងក្រោម

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

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

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

  • ក្រោយពេល Encrypt Web.config

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

III.          របៀប Decryption Connection Strings

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

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

  • សូមពិនិត្យដូចរូប

Published by sysomeho

Ho Sysome obtains B.S. degree in Computer Science from Phnom Penh Internation University (PPIU) in 2013 and currently studying Master of Science in IT (MSIT) at Asia Euro University (AEU). He worked as an IT Officer at Microfinance Institute and Bank in Phnom Penh. He is familar in programming language such as VB.NET, Java (Java2EE, Spring), Codeigniter, Laravel, mysql, sql server and so on. He enjoys sharing knowledges, learns from other, and develop himself. Find him on Facebook: Spy Ro, Linkedin: Sysome HO.

Leave a comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.