\

Facebook


วันอังคารที่ 15 สิงหาคม พ.ศ. 2560

[ASP.NET] วิธีเข้ารหัส connectionStrings ในไฟล์ web.config ให้อ่านไม่ออก


ปกติหลังจากเราสร้างเว็บแอปเสร็จเรียบร้อยแล้ว เมื่อจะส่ง deploy สิ่งหนึ่งที่ควรระมัดระวังคือ username และ password ของ DB Account ใน connection string ที่อยู่ภายในไฟล์ web.config ที่โชว์ทั้งตัวเลขตัวอักษรอย่างไม่เกรงใจใคร เรียกได้ว่าเมื่อมีใครเข้ามาแอบเปิดไฟล์นี้ดูก็สามารถขโมยข้อมูลเหล่านี้ออกไปได้อย่างง่ายดาย วิธีป้องกันคือการเข้ารหัสมันซะ

สคลิปที่เราใช้มีชื่อว่า aspnet_regiis ซึ่งซ่อนตัวอยู่ภายในโฟล์เดอร์ของเฟรมเวิร์ค 4.0 ตามพาทนี้ C:\Windows\Microsoft.NET\Framework\v4.0.30319 ถ้าไม่เจอก็ให้ install .NET framwork 4 ก่อนครับ

ไปเพิ่ม path ใน environment ก่อน จะได้เรียกสคิปได้


เข้าไปที่ Control Panel > System and Security > System เลือก Advanced System settings แล้วเลือก Environment Variables มองหาพาแนล System variables แล้วแก้ไขค่า Path เพิ่ม C:\Windows\Microsoft.NET\Framework\v4.0.30319\ เข้าไป


หลังจากนั้นเปิด command line ขึ้นมาด้วย Administrator แล้วใส่คอมมานนี้ลงไปเพื่อเข้ารหัส section "connectionStrings" ที่อยู่ในไฟล์ web.config


aspnet_regiis -pef "connectionStrings" "D:\PathTo\File"


อย่าลืมเปลี่ยนพาท "D:\PathTo\File" ให้เป็นพาทจริงที่บรรจุไฟล์ .config


หลังจากนั้นถ้าขึ้นข้อความว่า Succeeded! แปลว่าเข้ารหัสสำเร็จ ทดลองเปิดไฟล์ดูจะพบว่าถูกเพิ่มส่วน EncryptedData เพื่อใส่ CipherData ขึ้นมาเป็นอันเสร็จสิ้น

ถ้าต้องการถอดรหัสคืน ทำไง?

อย่างง่าย แค่พิมพ์ command นี้ลงไป


aspnet_regiis -pef "connectionStrings" "D:\PathTo\File"


จบ

ไม่มีความคิดเห็น:

May be like this posts

  • ลิสส์รายการ Visual Studio Project Type GUIDs
    19/10/2014 - 0 Comments
    รวบรวม GUIDs ของโปรเจคค์ต่างๆบน VS ทั้งหมด เอาไว้ search หาง่ายๆหน่อย เช็คโปรเจคค์โดยการเปิดไฟล์ .sln ด้วย…
  • เรื่องของ MyComputer ที่อาจยังไม่รู้
    16/05/2013 - 0 Comments
    ตอน uninstall โปรแกรมเข้ากันยังไงครับ ยังเป็นแบบนี้อยู่หรือเปล่า Start > Control Panel > Program and…
  • อยากให้ชีวิตง่ายขึ้นต้องใช้ Store Procedure [WinForm c# + SQL Server]
    11/09/2013 - 2 Comments
    คราวที่แล้วผม Blog เกี่ยวกับการติดต่อฐานข้อมูลด้วย SQLConnection ไปแล้ว…
  • XAMPP Start Apache ไม่ได้เพราะ PID 4 ไม่ว่าง แก้ยังไงมาดู
    30/04/2014 - 0 Comments
    ปัญหาเยอะจริงเวลาลงโปรแกรมใหม่ๆเข้ามา XAMPP เป็นอันต้อง port 80 ไม่ว่างบ้างกับสไกด์นี้แหละตัวดีเลย หรือ PID…
  • VirtualBox พัง fail to create new session
    19/08/2014 - 0 Comments
    ช่วงนี้มีแต่อะไรพังๆ รู้สึกเหมือนจับอะไรเป็นอดใช้ซะหมด ล่าสุดอยู่ๆ Virtual Box ที่รัน Windows 7 ได้เรื่อยมา…
  • Notebook for Programmer โน๊ตบุ๊คสำหรับเขียนโปรแกรม
    04/04/2014 - 0 Comments
    ถ้าให้ผมแนะนำการเลือกซื้อโน๊ตบุ๊คสักเครื่องเพื่อมาเขียนโปรแกรมละก่อ…
  • สร้าง WebApp ด้วย VueJS บน Digital Ocean ตอนที่ 2 : ติดตั้ง nodejs + npm
    18/05/2018 - 0 Comments
    NodeJS คือ JavaScript framework ที่ใช้ทำ back-end ซึ่งในเคสของผม ผมเลือกเพื่อมาเป็นตัว API สำหรับให้…