Гарын авлагууд

Орчны хувьсагч ба нууц гэж юу вэ? Энгийн гарын авлага

Орчны хувьсагч (environment variable) гэдэг нь DATABASE_URL эсвэл STRIPE_SECRET_KEY гэх мэт нэртэй тохиргоо бөгөөд апп ажиллах үед түүнд өгөгдөнө, кодонд шууд бичигдэхгүй. Нууц (secret) бол утга нь нууц хэвээр байх ёстой орчны хувьсагч юм: API түлхүүр, нууц үг, гарын үсгийн түлхүүр. Эдгээр утгыг кодоосоо гадуур хадгалснаар аппыг засахгүйгээр өөрчлөх, туршилт болон бодит хэрэглэгчдэд өөр утга ашиглах, кодоо хуваалцах эсвэл нийтлэхэд нууц мэдээлэл задрахаас сэргийлэх боломжтой.

AI-аар апп бүтээхдээ яагаад чухал вэ

Апп тань өөр үйлчилгээтэй холбогдож ажиллах үед (төлбөр авах, имэйл илгээх, AI загвар дуудах) түлхүүр хэрэгтэй болдог. AI апп бүтээгчид эдгээр түлхүүрийг байнга асуудаг бөгөөд түлхүүр хаана очдог нь аппын аюулгүй байдлыг тодорхойлдог.

Хамгийн түгээмэл хоёр алдаа:

  • Түлхүүрийг чат эсвэл кодонд буулгах. Тэгвэл түлхүүр чатын түүх, төслийн файл, экспорт, репозиторт үлддэг. Үүнийг харсан хэн ч таны дансыг ашиглаж чадна.
  • Түлхүүрийг хөтөч дээр ашиглах. Stripe эсвэл OpenAI-д хандах код хуудсан дээр ажиллавал түлхүүр зочин бүрт илгээгдэнэ. Хүмүүс үүнийг шалгадаг, автомат сканнерууд ил гарсан түлхүүрийг байнга хайдаг.

Орчны хувьсагчийг ойлгосноор эдгээр асуудлыг таньж, засвар хийхийг хүсэх боломжтой.

Өдөр тутмын зүйрлэл: зочид буудлын сейф

Аппын код бол өрөө шиг. Зочид (мөн цэвэрлэгч, түлхүүр карт өгсөн хэн ч) өрөөгөөр дамжин явдаг. Паспортоо ширээн дээр орхидоггүй шиг.

Орчны хувьсагч бол өрөөний сейф. Өрөөнд сейф байгааг, шаардлагатай үед хэрхэн нээхээ өрөө мэддэг боловч паспорт нь хаа сайгүй тавигдаагүй. Хэрэв та туршилтын тохиргооноосоо бодит сайт руу шилжих юм бол тэр өрөөний сейфэнд өөр паспорт тавихад л хангалттай, өрөөгөө дахин засах шаардлагагүй.

Яаж ажилладаг вэ

Таны код нэрэд хандана, утгад биш. Серверийн JavaScript-д энэ нь process.env.STRIPE_SECRET_KEY гэж харагдана. Апп эхлэхэд ажиллаж буй платформ тэр нэрт утгыг оруулна. Платформын тохиргоонд утгыг солиод, дахин эхлүүлэх эсвэл дахин нийтлэхэд апп шинэ утгыг ашиглана, кодыг өөрчлөх шаардлагагүй.

Утгууд хаанаас ирэх нь аппыг хаана ажиллуулж байгаагаас хамаарна:

Хаана ажилладагУтгыг хаана хадгалдаг вэ
Хөгжүүлэгчийн зөөврийн компьютерИхэвчлэн .env нэртэй локал файл; git-д оруулж болохгүй
AI бүтээгчийн урьдчилан харалтТөслийн нууц эсвэл тохиргооны самбар
Хостинг платформТухайн платформын орчны хувьсагчийн тохиргоо
GitHub Actions эсвэл бусад автоматжуулалтҮйлчилгээний шифрлэгдсэн нууцын сан

Нийтийн ба нууц хувьсагч

Орчны хувьсагч бүр нууц биш. Хоёр бүлэгт хувааж болно:

ТөрөлЖишээХөтөч харах уу?
Нийтийн тохиргооСайтын нэр, нийтийн аналитикийн ID, Stripe-ийн publishable түлхүүр, онцлогийн асаалтТийм, энэ зүгээр
НууцStripe-ийн secret түлхүүр, OpenAI эсвэл Anthropic API түлхүүр, мэдээллийн сангийн холболтын мөр, имэйл үйлчилгээний түлхүүр, webhook-ийн гарын үсгийн нууцХэзээ ч үгүй

Вэб фреймворкууд энэ хуваалтыг тодорхой заадаг. Vite-д зөвхөн VITE_-аар эхэлсэн нэртэй хувьсагч хөтчийн кодонд орно; Next.js-д угтвар нь NEXT_PUBLIC_. Энэ бол аюулгүй байдлын зарчим: эдгээр угтвартай бүх зүйл зочин бүрийн татдаг файлд орно, тиймээс нууцад ийм угтвар өгч болохгүй.

Бодит жишээ: AI хураангуйлах товч

Та AI загвар дуудах "Энэ тэмдэглэлийг хураангуйл" товч хийхийг хүсэж байна гэж бодъё.

Аюултай хувилбар: товчлуурын код хөтөч дээр ажиллаж, түлхүүрийг кодонд бичсэнээр AI үйлчилгээ үзүүлэгчийг шууд дуудна. Урьдчилан харалтанд ажиллана. Гэвч хэн ч хөгжүүлэгчийн хэрэгслийг нээж, түлхүүрийг хуулж аваад таны дансны зардлыг өсгөж болно.

Аюулгүй хувилбар:

  1. Та AI үйлчилгээ үзүүлэгч дээр түлхүүрээ үүсгээд төслийнхөө тохиргоонд OPENAI_API_KEY (эсвэл ижил) нэртэй нууц болгон хадгална.
  2. Бэкэнд дээр POST /api/summarise маршрут нэмнэ. Энэ маршрут process.env.OPENAI_API_KEY-г уншиж, хэрэглэгч нэвтэрсэн эсэхийг шалгаад үйлчилгээ үзүүлэгчийг дуудна.
  3. Товч нь үйлчилгээ үзүүлэгч рүү биш, таны маршрут руу хандана. Хөтөч түлхүүрийг хэзээ ч харахгүй.
  4. Ижил нууцыг нийтлэгдсэн аппын тохиргоонд нэмж, дахин нийтэлнэ. Ингэснээр бодит сайт ч мөн адил түлхүүртэй болно.

Энэ загвар (хөтөч таны сервертэй холбогдож, сервер нь нууцыг хадгалан үйлчилгээг дуудах) төлбөр, имэйл, газрын зураг болон бусад төлбөртэй бүх API-д хамаарна. LLM API ашиглах гарын авлага нь AI-ийн тохиолдлыг илүү гүнзгий тайлбарлана.

Гол нэр томьёо

  • .env файл: локал хөгжүүлэлтэд ашигладаг NAME=value мөрүүдээс бүрдэх текст файл. Git-д орохгүйн тулд .gitignore-д бичнэ.
  • .env.example: жинхэнэ утгагүй, зөвхөн нэрүүдтэй хуулбар. Бусад хүмүүст ямар хувьсагч тохируулах ёстойг харуулахын тулд git-д оруулдаг.
  • Rotate (шинэчлэх): нууцыг шинээр солиж, хуучныг хүчингүй болгох.
  • Scope / эрх: олон үйлчилгээ зөвхөн тодорхой үйлдэл хийх түлхүүр үүсгэх боломж олгодог. Зөвхөн имэйл илгээх түлхүүр бүх зүйлийг хийж чадах түлхүүрээс аюулгүй.
  • Туршилтын ба бодит түлхүүр: Stripe зэрэг үйлчилгээ туршилт болон бодит мөнгөнд тусдаа түлхүүр өгдөг. Нээгдэх хүртэл туршилтын түлхүүр ашигла.
  • Signing secret (гарын үсгийн нууц): webhook-ийн мессеж үнэхээр илгээгчээс ирсэн эсэхийг шалгахад ашигладаг нууц.

Түгээмэл алдаа, буруу ойлголт

  • "Репозиторо минь хувийн тул түүнд түлхүүр байж болно." Хувийн репозитор ч хуваалцагддаг, fork хийгддэг, экспортлогддог, зөөврийн компьютерт татагддаг. Түлхүүр тэнд харьяалагдахгүй. Төслөө GitHub-д холбовол .env файл орсон эсэхийг шалгана уу.
  • "Устгасан, тэгэхээр алга." Git түүхээ хадгалдаг, чатын бичлэг ч хадгалдаг. Түлхүүр ил гарч байсан бол шинэчил.
  • Нууцад нийтийн угтвар нэмэх. VITE_OPENAI_KEY нь таны түлхүүрийг хөтчийн багцад оруулна.
  • Дахин нийтлэхээ мартах. Тохиргоонд хувьсагчаа өөрчлөхөд ихэвчлэн апп дахин эхлэх эсвэл дахин нийтлэгдсэний дараа л хүчинтэй болдог.
  • Бүх зүйлд нэг түлхүүр. Туршилт болон бодит, мөн апп бүрд тусдаа түлхүүртэй байвал нэгийг нь хүчингүй болгоход бусад нь эвдрэхгүй.
  • Зардлын хязгаар байхгүй. Төлбөртэй API-д түлхүүр задарсан тохиолдолд үйлчилгээ үзүүлэгчийн хяналтын самбарт төсөв эсвэл хязгаар тавь.

AI бүтээгчээсээ юу гуйх вэ

  • "Stripe-ийн нууц түлхүүрийг STRIPE_SECRET_KEY нэртэй орчны хувьсагчаас уншаад зөвхөн серверт ашигла."
  • "Нууцыг клиент талын кодонд ашиглахгүй, VITE_ / NEXT_PUBLIC_ угтвар өгөхгүй байхыг шалга."
  • "Аппд хэрэгтэй бүх хувьсагчийг утгагүйгээр жагсаасан .env.example үүсгэ, .env-ийг git-ээс хасаарай."
  • "Frontend-ийн бүтсэн файлуудыг API түлхүүр шиг харагдах мөрүүдийн хувьд шалга."

Нийтлэхээсээ өмнө шалгах AI-аар бүтсэн аппын аюулгүй байдлын хяналтын жагсаалт нь нууцыг бусад шалгалтын хамт авч үздэг.

Mythex дээрх нууцууд

Mythex дээр нууцууд нь урьдчилан харах орчин болон нийтлэгдсэн аппд хоёуланд нь орох төслийн орчны хувьсагч юм. Тэдгээрийг төслийн тохиргоо → Secrets хэсэгт, эсвэл чатад /secrets командаар нэмнэ. Агент түлхүүр хэрэгтэй бол чатад нууцын карт харуулж, утгыг чатын түүхэнд биш маягтын талбарт оруулна. Бодит аппын нууцыг өөрчилсөн бол дахин нийтэлж, нийтлэлт шинэ утгыг авдаг болгоно. Төслийн экспортод нууцууд орохгүй, импортлосон .env файлуудаас нууц устгагддаг тул тохиргоонд дахин нэмнэ. Дэлгэрэнгүйг орчны хувьсагч ба нууц болон чатын нууцууд баримтаас үзнэ үү.

Асуултууд

Орчны хувьсагч гэж юу вэ?

Орчны хувьсагч гэдэг нь STRIPE_SECRET_KEY эсвэл DATABASE_URL гэх мэт нэртэй тохиргоо бөгөөд программ ажиллах үед өгөгдөнө, кодонд шууд бичигдэхгүй. Ингэснээр нэг код хөгжүүлэлтийн болон бодит орчинд өөр утгатай ажиллах боломжтой.

Орчны хувьсагч ба нууцын ялгаа юу вэ?

Нууц бол утга нь нууц хэвээр байх ёстой орчны хувьсагч юм, жишээлбэл API түлхүүр, мэдээллийн сангийн нууц үг эсвэл webhook-ийн гарын үсгийн түлхүүр. Сайтын нэр эсвэл онцлогийн асаалт зэрэг бусад орчны хувьсагч нийтэд харагдсан ч болно.

API түлхүүрээ frontend-дээ оруулж болох уу?

Болохгүй. Frontend кодыг зочин бүрийн хөтөч рүү татдаг тул хэн ч уншиж болно. Нууц түлхүүрийг зөвхөн серверт ашиглах ёстой; хөтөч таны сервертэй холбогдож, сервер нь үйлчилгээ үзүүлэгч рүү холбогдоно.

API түлхүүр минь задрах юм бол юу хийх вэ?

Тэр даруй үйлчилгээ үзүүлэгч дээр нь хүчингүй болгож эсвэл шинэчилж, шинэ түлхүүр үүсгээд апп-ынхаа нууц хадгалдаг газарт шинэчлээд дахин нийтэлнэ. Түлхүүрийг кодоос эсвэл чатын түүхээс устгах нь хангалтгүй, учир нь хуулбар нь аль хэдийн үлдсэн байж болно.

Mythex · Pricing · AI-аар юуг ч бүтээ · Вэбсайт болон аппын загварууд · Mythex-ийн харьцуулалт · AI-аар апп бүтээх тайлбар толь · AI-аар апп бүтээх үнэгүй хэрэгслүүд · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)