Skip to main content
0

Environment Variables เป็นส่วนสำคัญของกระบวนการพัฒนาซอฟต์แวร์ที่มุ่งเน้นไปที่ความปลอดภัยและประสิทธิภาพของแอปพลิเคชัน การใช้ Environment Variables ไม่ได้มีประโยชน์เฉพาะแค่จัดการข้อมูลที่ต้องการให้เป็นความลับเท่านั้น แต่ยังเป็นหนึ่งในเครื่องมือสำคัญที่ช่วยให้เราสามารถป้องกันการรั่วไหลของข้อมูลและการโจมตีจากผู้ไม่หวังดีได้อย่างมีประสิทธิภาพ อีกทั้งยังช่วยลดความซับซ้อนในการจัดการกับข้อมูลอีกด้วย

Environment Variables คืออะไร?

Environment Variables เป็นตัวแปรที่ถูกกำหนดไว้ในระบบปฏิบัติการหรือเซิร์ฟเวอร์ที่รันแอปพลิเคชันของเรา โดยมักใช้สำหรับเก็บข้อมูลที่เป็นความลับ เช่น รหัสผ่านฐานข้อมูล, คีย์ API, หรือการตั้งค่าอื่น ๆ ที่เราไม่ต้องการให้เผยแพร่แก่ผู้ใช้งานหรือผู้ไม่หวังดี

ประโยชน์ของ Environment Variables

  • ความปลอดภัย: Environment Variables ช่วยลดความเสี่ยงในการเปิดเผยข้อมูลที่เป็นความลับ เนื่องจากข้อมูลเหล่านี้จะไม่ถูกเก็บในโค้ดของแอปพลิเคชันโดยตรง
  • ความยืดหยุ่น: การใช้ Environment Variables ช่วยให้โปรแกรมสามารถทำงานในสภาพแวดล้อมที่ต่างกันไปได้อย่างยืดหยุ่น และไม่ติดขัด
  • การดูแลรักษา: โดยการใช้ Environment Variables เราสามารถแยกการกำหนดค่าจากโค้ดของแอปพลิเคชัน ทำให้การดูแลรักษาและการปรับปรุงโปรแกรมเป็นไปอย่างมีประสิทธิภาพ

การใช้ Environment Variables ใน Node.js

เราจะมาทดสอบการใช้ Environment Variables โดยการจำลองข้อมูลการเชื่อมต่อ Database โดยจะใช้ข้อมูล 3 ส่วนคือ

  • DB_HOST
  • DB_USER
  • DB_PASSWORD

ใน Node.js เราสามารถเข้าถึง Environment Variables ได้โดยใช้โมดูล process.env ซึ่งเป็นอ็อบเจกต์ที่เก็บค่าของ Environment Variables ทั้งหมด โดยที่ dotenv เป็นโมดูลที่ช่วยในการโหลด Environment Variables จากไฟล์ .env ในโปรเจ็กต์

เราจะเริ่มต้นจากการติดตั้งโมดูล dotenv ในโปรเจกต์ Node.js ก่อน สำหรับใครที่ยังไม่ได้ติดตั้ง node.js สามารถดูวิธีการติดตั้งได้ที วิธีการติดตั้ง Node.js ในหัวข้อ การติดตั้ง Node.js และ NPM

ติดตั้ง dotenv โดยใช้คำสั่ง :

npm install dotenv

หลังจากนั้น, ให้สร้างไฟล์ .env ในโปรเจ็กต์ของคุณและกำหนดค่า Environment Variables ของคุณตามนี้:

DB_HOST=localhost
DB_USER=myuser
DB_PASS=mypassword

จากนั้นมาลองทดสอบการใช้งาน dotenv โดยใส่คำสั่งเหล่านี้ลงไปในไฟล์เซิร์ฟเวอร์ และรันเซิร์ฟเวอร์ของคุณ

const http = require('http')
require('dotenv').config();

const server = http.createServer()

const dbHost = process.env.DB_HOST;
const dbUser = process.env.DB_USER;
const dbPassword = process.env.DB_PASS;

console.log(`Database Host: ${dbHost}`);
console.log(`Database User: ${dbUser}`);
console.log(`Database User: ${dbPassword}`);

server.listen(3000, () => {
  console.log(`Server is running on port 3000`);
});

ผลลัพธ์จากการ console.log คือ

Database Host: localhost
Database User: myuser
Database User: mypassword

จะเห็นว่าเราสามารถดึงเอาค่าต่างๆจากไฟล์ .env มาใช้ได้โดยที่เราไม่จำเป็นต้องใส่ค่าจริงๆลงไป ซึ่งเราจะใช้ Environment Variables แทนค่านั้นๆได้เลย ทำให้โค๊ดของเราปลอดภัยยิ่งขึ้น

สรุป

Environment Variables เป็นเครื่องมือสำคัญในการพัฒนาซอฟต์แวร์ที่ช่วยให้เราจัดการข้อมูลที่เป็นความลับและป้องกันการรั่วไหลของข้อมูล ใน Node.js เราสามารถใช้โมดูล dotenv เพื่อเข้าถึง Environment Variables ได้โดยตรง โดยใช้ dotenv เพื่อโหลด Environment Variables จากไฟล์ .env ในโปรเจ็กต์ของเรา การใช้ Environment Variables ช่วยเพิ่มความยืดหยุ่นและปลอดภัยให้กับโค๊ดของเรา ทำให้มีประสิทธิภาพมากยิ่งขึ้นโดยไม่ต้องเปิดเผยข้อมูลที่เป็นความลับในโค้ดของเรา การใช้ Environment Variables ช่วยให้การพัฒนาและการดูแลรักษาโปรแกรมเป็นไปอย่างมีประสิทธิภาพและเป็นระบบ

แหล่งข้อมูลอ้างอิง

Chaiwat Somphao

Author Chaiwat Somphao

More posts by Chaiwat Somphao

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้
    รายละเอียดคุกกี้

  • คุกกี้สำหรับการติดตามทางการตลาด

    ประเภทของคุกกี้ที่มีความจำเป็นในการใช้งานเพื่อการวิเคราะห์ และ นำเสนอโปรโมชัน สินค้า รวมถึงหลักสูตรฟรี และ สิทธิพิเศษต่าง ๆ คุณสามารถเลือกปิดคุกกี้ประเภทนี้ได้โดยไม่ส่งผลต่อการทำงานหลัก เว้นแต่การนำเสนอโปรโมชันที่อาจไม่ตรงกับความต้องการ
    รายละเอียดคุกกี้

บันทึกการตั้งค่า