ปกติหลังจากเราสร้างเว็บแอปเสร็จเรียบร้อยแล้ว เมื่อจะส่ง 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"
จบ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น