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

Аппдаа API түлхүүрээ хэрхэн аюулгүй байлгах вэ

API түлхүүрээ аюулгүй байлгахын тулд тэдгээрийг хостынхоо нууц эсвэл орчны хувьсагч болгон хадгалж, зөвхөн сервер талын кодонд ашиглаж, чат, кодын файл, дэлгэцийн агшин эсвэл Git репозиторт хэзээ ч буулгаж бүү. Түлхүүр бүрд шаардлагатай хамгийн бага эрхийг өг, үйлчилгээ үзүүлэгчийн талд зардлын хязгаар тавь. Түлхүүр хэзээ нэгэн цагт алдагдвал зөвхөн нуугаад орхихын оронд солих — шинэ үүсгэж, хуучныг устга.

API түлхүүр бол үйлчилгээний нууц үг. Таны OpenAI түлхүүр хэн нэгэнд таны мөнгөөр AI зарцуулах боломж олгодог; Stripe-ийн нууц түлхүүр буцаан олголт хийх боломж олгодог; имэйлийн үйлчилгээний түлхүүр таны нэрээр имэйл илгээх боломж олгодог. AI аппын builder-ууд эдгээрийг холбоход сайн боловч хаашаа очиж байгааг үргэлж анхаардаггүй, тиймээс энэ гарын авлага тэдгээрийг хэрхэн аюулгүй байлгаж, хэрхэн шалгахыг тайлбарлана.

Нийтийн түлхүүр ба нууц түлхүүр

Бүх түлхүүр нууц биш. Ялгааг нь мэдвэл буруу зүйлд сандарч, зөв зүйлийг үл тоохоос сэргийлнэ.

ТөрөлЖишээХөтөчт байж болох уу?
Publishable / нийтийн түлхүүрStripe-ийн pk_… түлхүүр, таны домэйнд хязгаарласан газрын зургийн түлхүүр, зарим аналитикийн IDТийм — үүнд зориулагдсан
Нууц түлхүүрStripe-ийн sk_…, OpenAI болон Anthropic-ийн түлхүүрүүд, имэйлийн үйлчилгээний түлхүүрүүд, өгөгдлийн сангийн нууц үгХэзээ ч үгүй
Үйлчилгээ/админ түлхүүрүүдХостлогдсон өгөгдлийн сангийн хандалтын дүрмийг тойрдог түлхүүрүүдХэзээ ч үгүй — хамгийн мэдрэмтгий гэж үз

Түлхүүр ямар төрөлд хамаарахаа мэдэхгүй бол үйлчилгээ үзүүлэгчийн баримтыг шалга. Эргэлзвэл нууц гэж үз.

Алхам 1: Түлхүүрүүдийг кодонд биш нууцаар хадгал

Түлхүүрүүд хостынхоо орчны хувьсагч эсвэл нууцын тохиргоонд байх ёстой. Таны код тэдгээрийг ажиллах үед нэрээр нь уншина (жишээ нь process.env.OPENAI_API_KEY), тиймээс утга нь таны файлд огт гарахгүй. Суурь мэдээллийн хувьд орчны хувьсагч болон нууцууд гэж юу вэ-г үз.

Код дотор байгаа API түлхүүр бүрийг орчны хувьсагч руу шилжүүл. Олсон түлхүүр бүрийг, аль файлд байсныг, ашигласан хувьсагчийн нэрийг жагсаа. Утгуудыг нь бүү харуул.

Дараа нь юу ч үлдээгүйг шалга:

Бүх проектоор, тохиргооны файл болон .env файлуудыг оруулан API түлхүүр эсвэл нууц үг шиг зүйл хайж үз. Утгыг бүү, файл болон мөрийг нь тайлагна уу.

Алхам 2: Нууц түлхүүрийг зөвхөн серверт ашигла

Энэ бол хамгийн чухал дүрэм. Хөтөчт хүрсэн аливаа зүйлийг зочин уншиж чадна — хуудасны эх код болон JavaScript файлууд бүгд developer tools-д харагддаг.

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

Чат функц OpenAI-г хөтчөөс шууд дуудаж байна. Тэр дуудлагыг OPENAI_API_KEY-г орчноосоо уншдаг серверийн API route руу зөө. Хөтөч зөвхөн бидний route-г дуудах ёстой. Route-д нэвтрэлт шаардаарай.

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

Алхам 3: Юу ч алдагдахгүйг шалга

Ажилласан гэдэгт бүү найдаж, идэвхтэй сайтаа шалга:

  1. Нийтлэгдсэн аппаа хөтөчөөр нээ.
  2. Developer tools-ийг нээгээд Sources эсвэл Network табыг сонго.
  3. Файлуудаар бүх нууц түлхүүр бүрийн эхний тэмдэгтүүдийг (жишээ нь sk_ эсвэл sk-) хай.
  4. Аппын хийдэг сүлжээний хүсэлтүүдийг шалга. Хөтчөөс шууд төлбөртэй AI үйлчилгээ рүү явж буй хүсэлт бол аюултай дохио.

Хэрэв нууц түлхүүр олдвол, аль хэдийн нийтэд ил байсан тул, серверт зөөж (алхам 2) солих (алхам 6) хэрэгтэй.

Алхам 4: Түлхүүр бүр юу хийж чадахыг хязгаарла

Олон үйлчилгээ үзүүлэгч түлхүүрийг хязгаарлах боломж олгодог:

  • Хамрах хүрээтэй эсвэл хязгаарласан түлхүүрүүд, аппад хэрэгтэй зүйлийг л хийдэг. Жишээ нь Stripe тодорхой эрхтэй хязгаарласан түлхүүрийг дэмждэг.
  • Домэйн эсвэл IP хязгаарлалт заавал нийтэд байх ёстой түлхүүрүүдэд, жишээ нь газрын зургийн түлхүүрүүд.
  • Апп болон орчин бүрд тусдаа түлхүүр, ингэснээр нэг алдагдал бүгдийг ил гаргахгүй, нэгийг нь цуцлахад бусад нь эвдрэхгүй.
  • Бүтээх явцад туршилтын түлхүүр, амьд түлхүүрийг зөвхөн нийтлэгдсэн аппад.

Алхам 5: Хохирлын дээд хязгаар тавь

Сайн хамгаалагдсан түлхүүр ч өөрийн аппаар дамжуулан буруугаар ашиглагдаж болно — жишээ нь, хэн нэгэн таны AI функцийг мянга мянган удаа скриптээр дуудаж байж болно.

  • Төлбөртэй үйлчилгээ үзүүлэгч бүрт зардлын хязгаар эсвэл мэдэгдэл тавь.
  • Дуудлага бүрд мөнгө шаардах аливаа функцэд нэвтрэлт шаардаарай.
  • Хэрэглэгч бүрийн rate limit нэм. Rate limiting гэж юу вэ-г үз.

/api/chat руу хэрэглэгч бүр цагт 30 AI хүсэлтийн хязгаар нэм. Хязгаарт хүрвэл тодорхой мессеж буцаа. Нэвтрээгүй хэрэглэгчийн хүсэлтийг татгалз.

Алхам 6: Алдагдсан түлхүүрүүдийг солих

Нууц түлхүүр байх ёсгүй газар гарвал — чатын мессеж, commit, дэлгэцийн агшин, support тикет, хөтчийн код — түүнийг эвдэрсэн гэж үз.

  1. Үйлчилгээ үзүүлэгчид шинэ түлхүүр үүсгэ.
  2. Аппынхаа тохиргоонд нууцыг шинэчил.
  3. Амьд аппад шинэ түлхүүр ашиглуулахын тулд дахин deploy эсвэл нийтэл.
  4. Үйлчилгээ үзүүлэгчид хуучин түлхүүрийг устга.
  5. Үйлчилгээ үзүүлэгчийн ашиглалтын бүртгэлд таны танихгүй үйл ажиллагаа байгаа эсэхийг шалга.

Чатын мессеж эсвэл Git commit-ийг устгахад хангалтгүй. Git-ийн түүх хуучин хувилбаруудыг хадгалдаг, нийтэд ил гарсан аливаа зүйлийг аль хэдийн хуулсан байж магадгүй.

Түгээмэл алдаанууд

  • Түлхүүрийг prompt-д буулгах. Одоо энэ нь чатын түүхэнд байна. Оронд нь нууцын маягтыг ашигла.
  • Нууц хувьсагчид нийтийн угтвар тавих. VITE_OPENAI_API_KEY нь түлхүүрийг зочин бүрт илгээнэ.
  • .env файлыг commit хийх. Эхний push-ээсээ өмнө .gitignore-д оруулаарай.
  • Бүх газарт нэг түлхүүр. Туршилт ба амьд, мөн апп бүрт тусдаа түлхүүр ашигла.
  • Зардлын хязгаар байхгүй. Ил гарсан эсвэл буруугаар ашиглагдсан, хязгааргүй түлхүүр таныг анзаараагүй байхад том нэхэмжлэх үүсгэж чадна.
  • Солихын оронд нуух. Түлхүүр ил гарсан бол зөвхөн шинэ түлхүүр засна.
  • Дэлгэцийн агшин дахь түлхүүрүүд. Тусламж хүсэхээс өмнө тохиргооны хуудсуудыг тайрч эсвэл бүдгэрүүл.

Шалгах жагсаалт

  • Түлхүүр бүр нууц эсвэл орчны хувьсагчаар хадгалагдсан, кодонд биш.
  • .env файл эсвэл түлхүүр Git-д commit хийгдээгүй.
  • Нууц түлхүүрүүд зөвхөн сервер талын кодонд ашиглагддаг.
  • Нууц хувьсагч нэг ч VITE_ эсвэл NEXT_PUBLIC_ гэх мэт нийтийн угтвартай биш.
  • Амьд сайтын JavaScript-д түлхүүр бүрийн угтварыг хайж, юу ч олоогүй.
  • Үйлчилгээ үзүүлэгч зөвшөөрсөн газарт түлхүүрүүд хамрах хүрээтэй эсвэл хязгаарласан.
  • Туршилт ба амьд түлхүүр тусдаа.
  • Төлбөртэй функцүүд нэвтрэлт шаарддаг, хэрэглэгч бүрийн хязгаартай.
  • Төлбөртэй үйлчилгээ үзүүлэгч бүрт зардлын хязгаар эсвэл мэдэгдэл байгаа.
  • Түлхүүр бүрийг хэрхэн солихоо мэднэ, мөн хэзээ нэгэн ил гарсан түлхүүр бүрийг солисон.

Mythex дээр түлхүүрүүдээ аюулгүй байлгах нь

Mythex түлхүүрүүдийг кодоос болон чатаас хоёр аргаар гаргадаг:

  • Нууц хүсэх карт. Агентад түлхүүр хэрэгтэй үед чатад карт харуулж, та утгыг мессежний талбараас биш маягтын талбарт оруулдаг, тэгээд энэ нь проектын нууц болгон хадгалагддаг. Чат дахь нууцууд-г үз.
  • Проектын тохиргоо → Нууцууд, эсвэл чатад /secrets, түлхүүрүүдийг өөрөө нэмэх эсвэл өөрчлөхийн тулд. Орчны хувьсагч болон нууцууд-г үз.

Нийтлэгдсэн аппын нууцыг өөрчилсний дараа амьд аппад хүрэхийн тулд дахин нийтэл. Экспортолсон проектууд нууцуудыг орхигдуулдаг тул кодыг ажиллуулах газар бүрт дахин нэмнэ. Хэрэв түлхүүр чатад гарч ирвэл үйлчилгээ үзүүлэгчид солино.

Нийтлэхийн өмнөх аюулгүй байдлын үлдсэн шалгалтын хувьд AI-ээр бүтээсэн аппуудын аюулгүй байдлын жагсаалт-аар дамжаарай. Хэрэв AI функц нэмж байгаа бол LLM API-г хэрхэн ашиглах вэ нь түлхүүр болон зардлын талаар илүү гүнзгий тайлбарласан.

Асуултууд

API түлхүүрийг фронтенд кодонд тавих нь аюулгүй юу?

Зөвхөн үйлчилгээ үзүүлэгч тэр түлхүүрийг нийтэд зориулж бүтээсэн бол, жишээ нь Stripe-ийн publishable түлхүүр эсвэл зөвхөн таны домэйнд хязгаарласан газрын зургийн түлхүүр. Мөнгө зарцуулж эсвэл хувийн өгөгдөл унших чадвартай аливаа түлхүүр серверт үлдэх ёстой, учир нь хөтөчт илгээсэн зүйлийг хэн ч уншиж чадна.

API түлхүүрээ чат эсвэл нийтийн репозитор руу буулгасан бол юу хийх вэ?

Солих: үйлчилгээ үзүүлэгчид шинэ түлхүүр үүсгэ, аппынхаа нууцыг шинэчил, дахин нийтэл, дараа нь хуучин түлхүүрийг устга. Мессеж эсвэл commit-ийг устгахад хангалтгүй, учир нь хуулбар аль хэдийн байж магадгүй.

API түлхүүрүүдийг хаана хадгалах ёстой вэ?

Хостынхоо орчны хувьсагч эсвэл нууцын тохиргоонд, ажиллах үед серверийн код уншдаг байдлаар. Тэдгээрийг эх файлд бичих, Git-д commit хийх, эсвэл дэлгэцийн агшинд оруулах ёсгүй.

Вэбсайтдаа API түлхүүр ил гарсан эсэхийг яаж мэдэх вэ?

Идэвхтэй сайтаа нээ, хөтчийн developer tools-оор хуудасны эх код болон JavaScript файлуудыг харж, түлхүүрийнхээ эхлэх хэсгийг хай. Хэрэв олдвол ил гарсан байна; серверт зөөж, солих хэрэгтэй.

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 简体中文 繁體中文(香港) 繁體中文(台灣)