መመሪያዎች

በመተግበሪያህ ውስጥ የAPI ቁልፎችን እንዴት በደህና መጠበቅ እንደሚቻል

የAPI ቁልፎችን በደህና ለመጠበቅ፣ በአስተናጋጅህ ላይ እንደ ሚስጥሮች ወይም የአካባቢ ተለዋዋጮች አስቀምጣቸው፣ በሰርቨር-ጎን ኮድ ብቻ ተጠቀምባቸው፣ እና በፍጹም ወደ ቻት፣ የኮድ ፋይሎች፣ ስክሪንሾቶች ወይም Git ሪፖዚቶሪ አትለጥፋቸው። እያንዳንዱን ቁልፍ አነስተኛ ፈቃድ ብቻ ስጥ፣ በአቅራቢው ላይ የወጪ ገደቦችን አዘጋጅ፣ እና ቁልፍ ቢፈስ ደብቀህ ከማቆየት ይልቅ ቀይረው — አዲስ ፍጠርና ድሮውን ሰርዝ።

API ቁልፍ የአገልግሎት የይለፍ ቃል ነው። የOpenAI ቁልፍህ አንድ ሰው በAI ገንዘብህን እንዲያወጣ ያስችለዋል፤ የStripe ሚስጥራዊ ቁልፍህ ተመላሽ ገንዘብ እንዲሰጥ፤ የኢሜይል አቅራቢህ ቁልፍ በስምህ ኢሜይል እንዲልክ። AI መተግበሪያ ገንቢዎች እነዚህን ለማገናኘት ጎበዞች ናቸው፣ ነገር ግን የት እንደሚገቡ ሁልጊዜ ጥንቃቄ አያደርጉም፤ ይህ መመሪያ እንዴት በደህና እንደሚጠበቁና እንዴት እንደሚፈተሹ ይሸፍናል።

ይፋ ቁልፎችና ሚስጥራዊ ቁልፎች

ሁሉም ቁልፍ ሚስጥር አይደለም። ልዩነቱን ማወቅ ስለ ትክክለኛው ያለህ ምላሽ ሲሳሳት እንዳትደናገጥ እና ትክክለኛውን ችላ እንዳትል ይረዳሃል።

ዓይነትምሳሌዎችበአሳሹ ሊሆን ይችላል?
የሚታተሙ / ይፋ ቁልፎችየStripe pk_… ቁልፍ፣ ለጎራህ የተገደበ የካርታ ቁልፍ፣ አንዳንድ የትንታኔ መለያዎችአዎ — ለዚሁ የተነደፉ
ሚስጥራዊ ቁልፎችStripe sk_…፣ የOpenAIና Anthropic ቁልፎች፣ የኢሜይል አቅራቢ ቁልፎች፣ የዳታቤዝ የይለፍ ቃሎችበፍጹም አይደለም
የአገልግሎት/አስተዳዳሪ ቁልፎችበተስተናገደ ዳታቤዝ ላይ የመዳረሻ ህጎችን የሚያልፉ ቁልፎችበፍጹም አይደለም — በጣም ስሱ እንደሆነ ያዙት

ቁልፉ ምን ዓይነት እንደሆነ እርግጠኛ ካልሆንክ የአቅራቢውን ሰነድ ተመልከት። ጥርጣሬ ካለ እንደ ሚስጥር ያዘው።

ደረጃ 1፦ ቁልፎችን እንደ ሚስጥር አስቀምጣቸው፣ በኮድ ውስጥ አይደለም

ቁልፎች በአስተናጋጅህ የአካባቢ ተለዋዋጮች ወይም ሚስጥሮች ቅንብሮች ውስጥ ይኖራሉ። ኮድህ በሩጫ ጊዜ በስማቸው ያነባቸዋል (ለምሳሌ process.env.OPENAI_API_KEY)፣ ስለዚህ ዋጋው በፋይሎችህ ውስጥ በፍጹም አይታይም። ለዳራው፣ የአካባቢ ተለዋዋጮችና ሚስጥሮች ምንድናቸው ተመልከት።

ከኮዱ ውስጥ ሁሉንም የAPI ቁልፎች ወደ የአካባቢ ተለዋዋጮች አውጣ። ያገኘሃቸውን እያንዳንዱን ቁልፍ፣ በየትኛው ፋይል እንደነበረ እና የተጠቀምከውን የተለዋዋጭ ስም ዘርዝር። እሴቶቹን አታሳየኝ።

ከዚያ ምንም እንዳልቀረ አረጋግጥ፦

በመላው ፕሮጀክቱ፣ በማዋቀሪያ ፋይሎችና በማንኛውም .env ፋይል ውስጥ ከAPI ቁልፍ ወይም ከይለፍ ቃል የሚመስል ነገር ፈልግ። ፋይሉንና መስመሩን ዘርዝር፣ እሴቱን አይደለም።

ደረጃ 2፦ ሚስጥራዊ ቁልፎችን በሰርቨር ብቻ ተጠቀም

ይህ በጣም አስፈላጊው ህግ ነው። አሳሹ የሚቀበለው ማንኛውም ነገር ጎብኚ ሊያነበው ይችላል — የገጹ ምንጭና የJavaScript ፋይሎች ሁሉ በገንቢ መሳሪያዎች ይታያሉ።

ስለዚህ መተግበሪያው OpenAIን መጥራት ካለበት፣ አሳሹ ያንተን ሰርቨር መጥራት አለበት፣ ሰርቨርህ ደግሞ ቁልፉን ይዞ OpenAIን ይጠራል። ቁልፉ ሰርቨሩን በፍጹም አይለቅም።

የቻት ባህሪው OpenAIን በቀጥታ ከአሳሹ ይጠራል። ያንን ጥሪ ወደ ሰርቨር መንገድ ውሰድ፣ እሱም OPENAI_API_KEYን ከአካባቢው ያነባል። አሳሹ የኛን መንገድ ብቻ መጥራት አለበት። መንገዱ መግቢያ እንዲፈልግ አድርግ።

በፊተኛው ክፍል ማዕቀፎች ውስጥ አንድ የተለመደ ወጥመድ ተጠንቀቅ፦ በቅድመ-ቅጥያ ያሉ ተለዋዋጮች — በVite VITE_፣ በNext.js NEXT_PUBLIC_ — ሆን ተብሎ በአሳሽ ኮድ ውስጥ ይገነባሉ። ሚስጥራዊ ቁልፍ በእንደዚህ ዓይነት ቅድመ-ቅጥያ ከሆነ “በአካባቢ ተለዋዋጭ ውስጥ ነው” ቢባልም ይፋ ይሆናል።

ደረጃ 3፦ ምንም እንደማይፈስ ፈትሽ

እንደሠራ አትመን — የቀጥታ ጣቢያውን ፈትሽ፦

  1. የታተመውን መተግበሪያ በአሳሽ ክፈት።
  2. የገንቢ መሳሪያዎችን፣ ከዚያም Sources ወይም Network ትሩን ክፈት።
  3. በፋይሎች ሁሉ ላይ ለእያንዳንዱ ሚስጥራዊ ቁልፍ የመጀመሪያ ቁምፊዎች ፈልግ (ለምሳሌ sk_ ወይም sk-)።
  4. መተግበሪያው የሚያደርጋቸውን የአውታረ መረብ ጥያቄዎች ፈትሽ። ከአሳሹ በቀጥታ ወደ የሚከፈልበት AI አቅራቢ የሚሄድ ጥያቄ ቀይ ምልክት ነው።

ሚስጥራዊ ቁልፍ ካገኘህ፣ ወደ ሰርቨር ውሰደው (ደረጃ 2) እና ቀይረው (ደረጃ 6)፣ ምክንያቱም ቀድሞ ይፋ ሆኗል።

ደረጃ 4፦ እያንዳንዱ ቁልፍ ምን ማድረግ እንደሚችል ገድብ

ብዙ አቅራቢዎች ቁልፍን መገደብ ይፈቅዳሉ፦

  • የተወሰኑ ወይም የተገደቡ ቁልፎች መተግበሪያህ የሚፈልገውን ብቻ ማድረግ የሚችሉ። ለምሳሌ Stripe የተወሰኑ ፈቃዶች ያሉ የተገደቡ ቁልፎችን ይደግፋል።
  • የጎራ ወይም የIP ገደቦች ይፋ መሆን ላለባቸው ቁልፎች፣ ለምሳሌ የካርታ ቁልፎች።
  • ለእያንዳንዱ መተግበሪያና አካባቢ የተለዩ ቁልፎች፣ አንድ መፍሰስ ሁሉንም እንዳያጋልጥ፣ እና አንዱን መሻር ሌሎችን እንዳያፈርስ።
  • ቁልፎች ሲገነቡ የሙከራ ቁልፎች፣ የቀጥታ ቁልፎች በታተመው መተግበሪያ ብቻ።

ደረጃ 5፦ ለጉዳቱ ጣሪያ አድርግ

ጥሩ የተጠበቀ ቁልፍ እንኳ በራስህ መተግበሪያ በኩል ሊጎዳ ይችላል — ለምሳሌ አንድ ሰው የAI ባህሪህን በሺዎች ጊዜ በስክሪፕት ሊጠራው ይችላል።

  • በእያንዳንዱ የሚከፈልበት አቅራቢ ላይ የወጪ ገደቦችን ወይም ማንቂያዎችን አዘጋጅ።
  • ለእያንዳንዱ ጥሪ ገንዘብ የሚያስከፍል ባህሪ መግባት ይጠይቅ።
  • በየተጠቃሚ የጥያቄ ገደብ ጨምር። rate limiting ምንድነው ተመልከት።

ለ/api/chat በየተጠቃሚ በሰዓት 30 የAI ጥያቄዎች ገደብ ጨምር። ገደቡ ሲደረስ ግልጽ መልዕክት መልስ። ያልገቡ ተጠቃሚዎችን ጥያቄዎች ውድቅ አድርግ።

ደረጃ 6፦ የፈሰሱ ቁልፎችን ቀይር

ሚስጥራዊ ቁልፍ መሆን በሌለበት ቦታ ከታየ — የቻት መልዕክት፣ ኮሚት፣ ስክሪንሾት፣ የድጋፍ ትኬት፣ የአሳሽ ኮድ — እንደተበላሸ ገምት።

  1. በአቅራቢው አዲስ ቁልፍ ፍጠር።
  2. ሚስጥሩን በመተግበሪያህ ቅንብሮች አዘምን።
  3. ቀጥታ መተግበሪያው አዲሱን ቁልፍ እንዲጠቀም እንደገና አሰማራ ወይም እንደገና አትም።
  4. ድሮውን ቁልፍ በአቅራቢው ሰርዝ።
  5. ያላወቅሃቸውን እንቅስቃሴዎች በአቅራቢው የአጠቃቀም መዝገብ ፈትሽ።

የቻት መልዕክቱን ወይም የGit ኮሚቱን መሰረዝ በቂ አይደለም። Git ታሪክ የድሮ ስሪቶችን ያቆያል፣ ይፋ የሆነ ማንኛውም ነገር ቀድሞ ተገልብጦ ሊሆን ይችላል።

የተለመዱ ስህተቶች

  • ቁልፍ ወደ ጥያቄው መለጠፍ። አሁን በቻት ታሪኩ ውስጥ ነው። በምትኩ የሚስጥር ቅጽ ተጠቀም።
  • በሚስጥር ተለዋዋጭ ላይ ይፋ ቅድመ-ቅጥያ። VITE_OPENAI_API_KEY ቁልፉን ለእያንዳንዱ ጎብኚ ይልካል።
  • የ.env ፋይል መመዝገብ። ከመጀመሪያው ግፊት በፊት በ.gitignore ውስጥ መሆኑን አረጋግጥ።
  • አንድ ቁልፍ ለሁሉም ቦታ። ለሙከራና ለቀጥታ፣ እንዲሁም ለእያንዳንዱ መተግበሪያ የተለዩ ቁልፎችን ተጠቀም።
  • የወጪ ገደብ አለመኖር። የፈሰሰ ወይም የተበደለ ቁልፍ ያለ ጣሪያ ሳታስተውል ትልቅ ሂሳብ ሊያስከፍል ይችላል።
  • መደበቅ ከመቀየር ይልቅ። ቁልፉ አንዴ ከተፈሰሰ፣ አዲስ ቁልፍ ብቻ ያስተካክለዋል።
  • በስክሪንሾቶች ውስጥ ቁልፎች። ለእርዳታ ከማጋራትህ በፊት የቅንብር ገጾችን ቁረጥ ወይም አደብዝዝ።

ዝርዝር

  • እያንዳንዱ ቁልፍ እንደ ሚስጥር ወይም የአካባቢ ተለዋዋጭ ተቀምጧል፣ በኮድ ውስጥ አይደለም።
  • ምንም .env ፋይልም ሆነ ቁልፍ ወደ Git አልተላከም።
  • ሚስጥራዊ ቁልፎች በሰርቨር-ጎን ኮድ ብቻ ይጠቀማሉ።
  • በሚስጥር ተለዋዋጭ ላይ እንደ VITE_ ወይም NEXT_PUBLIC_ ያለ ይፋ ቅድመ-ቅጥያ የለም።
  • የቀጥታ ጣቢያው JavaScript ለእያንዳንዱ ቁልፍ ቅድመ-ቅጥያ ፈትሽቼ ምንም አላገኘሁም።
  • አቅራቢው በሚፈቅድበት ቦታ ቁልፎች ተገድበዋል።
  • ሙከራና ቀጥታ ቁልፎች የተለዩ ናቸው።
  • የሚከፈልባቸው ባህሪያት መግባት ይጠይቃሉ እና በየተጠቃሚ ገደብ አላቸው።
  • እያንዳንዱ የሚከፈልበት አቅራቢ የወጪ ጣሪያ ወይም ማንቂያ አለው።
  • እያንዳንዱን ቁልፍ እንዴት እንደሚቀየር አውቃለሁ፣ እና ይፋ የሆነ ማንኛውም ቁልፍ ተቀይሯል።

በMythex ላይ ቁልፎችን መጠበቅ

Mythex ቁልፎችን ከኮድህና ከቻት ውጭ በሁለት መንገዶች ያቆያል፦

  • የሚስጥር ጥያቄ ካርድ። ወኪሉ ቁልፍ ሲፈልግ፣ እሴቱን በመልዕክት ሳጥኑ ሳይሆን በቅጽ መስኮች የምታስገባበት ካርድ በቻት ውስጥ ያሳያል፣ እና እንደ የፕሮጀክት ሚስጥር ይቀመጣል። ሚስጥሮች በቻት ተመልከት።
  • የፕሮጀክት ቅንብሮች → ሚስጥሮች፣ ወይም በቻት ውስጥ /secrets፣ ቁልፎችን ራስህ ለመጨመርና ለመቀየር። የአካባቢ ተለዋዋጮችና ሚስጥሮች ተመልከት።

ለታተመ መተግበሪያ ሚስጥር ከቀየርህ በኋላ፣ የቀጥታ መተግበሪያው እንዲያነሳው እንደገና አትም። የተላኩ (exported) ፕሮጀክቶች ሚስጥሮችን አያካትቱም፣ ስለዚህ ኮዱን በሚያሄዱበት ቦታ ሁሉ እንደገና ጨምራቸው። ቁልፍ ቻቱ ውስጥ ከታየ፣ በአቅራቢው ቀይረው።

ለቀሩት የቅድመ-ጅምር የደህንነት ፍተሻ፣ ለAI የተገነቡ መተግበሪያዎች የደህንነት ዝርዝር ን ተከተል። AI ባህሪያትን እየጨመርህ ከሆነ፣ LLM APIዎችን እንዴት መጠቀም ስለ ቁልፎችና ወጪዎች ጠለቅ ብሎ ይነግርሃል።

ጥያቄዎች

API ቁልፍ በፊተኛው ክፍል ኮድ ውስጥ ማስቀመጥ ደህና ነው?

አቅራቢው ቁልፉን ይፋ እንዲሆን ከነደፈው ብቻ — ለምሳሌ የStripe የሚታተም ቁልፍ ወይም ለጎራህ ብቻ የተገደበ የካርታ ቁልፍ። ገንዘብ ሊያወጣ ወይም የግል ውሂብ ሊያነብ የሚችል ማንኛውም ቁልፍ በሰርቨር መቆየት አለበት፣ ምክንያቱም ወደ አሳሹ የተላከ ነገር ማንም ሊያነበው ይችላል።

የAPI ቁልፍ ወደ ቻት ወይም ይፋ ሪፖዚቶሪ ከለጠፍኩ ምን ላድርግ?

ቀይረው፦ በአቅራቢው አዲስ ቁልፍ ፍጠር፣ የመተግበሪያህን ሚስጥሮች አዘምን፣ እንደገና አትም፣ ከዚያ የድሮውን ቁልፍ ሰርዝ። መልዕክቱን ወይም ኮሚቱን መሰረዝ ብቻ አይበቃም፣ ቅጂዎች ቀድሞ ሊኖሩ ይችላሉ።

የAPI ቁልፎች የት መቀመጥ አለባቸው?

በአስተናጋጅህ የአካባቢ ተለዋዋጮች ወይም የሚስጥር ቅንብሮች ውስጥ፣ በሰርቨር-ጎን ኮድ በሩጫ ጊዜ የሚነበቡ። በምንጭ ፋይሎች ውስጥ መጻፍ፣ ወደ Git መላክ ወይም በስክሪንሾት ውስጥ ማካተት የለባቸውም።

የAPI ቁልፌ በድር ጣቢያዬ ላይ መፈሰሱን እንዴት ላውቅ?

የቀጥታ ድረ-ገጽህን ክፈት፣ የገጹን ምንጭና የ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 简体中文 繁體中文(香港) 繁體中文(台灣)