እውነተኛ ስራን ለሚያቋርጡ ትናንሽ ስራዎች የአሳሽ የመሣሪያ ሳጥን
አብዛኞቹ የኮድ ችግሮች ትልቅ እና አስደሳች ናቸው። በእውነት የሚያዘገዩዎት ግን አይደሉም። ከፊትዎ የተጨመቀ የAPI ምላሽ አለዎት፣ ማንበብ የማይችሉት JWT፣ የጥያቄ ሕብረቁምፊውን የሚያበላሽ URL፣ እና ትንሽ ላይ የሚሰራ regex። ከእነዚህ ውስጥ አንዳቸውም ጥገኝነት፣ የCLI ጭነት፣ ወይም በማስታወቂያ የተሞላ ትር አይገባቸውም። ሰላሳ ሰከንድ እና ንፁህ የጽሁፍ ሳጥን ይገባቸዋል።
ይህ ከዚህ ስብስብ በስተጀርባ ያለው ጠቅላላ ሃሳብ ነው፦ ወዲያውኑ የሚጫኑ፣ ሙሉ በሙሉ በአሳሽዎ ውስጥ የሚሰሩ፣ ፈጽሞ እንዲመዘገቡ የማይጠይቁ ነጻ የገንቢ መገልገያዎች አንድ ገጽ። JSON ቅርጸት፣ Base64፣ URL ኢንኮዲንግ፣ JWT ዲኮዲንግ፣ የቀለም መቀያየር፣ regex ፈተና፣ የጊዜ ማህተም ስሌት፣ እና የHTTP ሁኔታ ማጣቀሻ ሁሉም በአንድ ቦታ ይኖራሉ። Google መጀመሪያ ወደ ላይ ያስቀመጠውን ውሂብዎን ከመለጠፍ ያቁማሉ፣ እናም ያ የዘፈቀደ ጣቢያ እየመዘገበው እንደሆነ ከመጠየቅ ያቁማሉ።
እያንዳንዱ መሣሪያ በእውነት ምን እንደሚያደርግ
የJSON ቅርጻ-ቅርጽ ሰሪ የተሸሸ፣ አንድ-መስመር JSON ግድግዳ ወስዶ ሰው ሊቃኘው ወደሚችል ነገር ይለውጠዋል። ዌብሁክ ቢነሳ እና ምዝግቦችዎ ጥሬ ይዘቱን እንደ አንድ ግዙፍ ሕብረቁምፊ ቢያዙ እንበል። ይለጥፉት፣ ባለ-ሁለት ወይም ባለ-አራት ክፍተት ኢንደንቴሽን ይምረጡ፣ የአገባብ ስህተት ካለ ተለይቶ የሚታይ ሊነበብ የሚችል ዛፍ ያገኛሉ። ስለሚቀርጽ ሲረጋገጥ፣ ስለዚህ ያገለለ የመጨረሻ ኮማ ወይም ያልተጠቀሰ ቁልፍ በዝምታ በመተግበሪያዎ ውስጥ ሦስት ንብርብር ጥልቀት ከመውደቅ ይልቅ ይጠቀሳል።
Base64 ኢንኮድ/ዲኮድ ሳይታሰብበት ያለማቋረጥ የሚደርሱበት ጠንካራ ስራ ሰራተኛ ነው። የውሂብ URIዎች፣ Basic Auth ራሶች፣ በውቅር ፋይሎች ውስጥ የተጨመቁ ባይነሪ ብሎቦች፣ የቶክን ክፍሎች — ሁሉም Base64። ምስክርነቶች እንደሚጠብቁት እየተላኩ መሆናቸውን ለማረጋገጥ የራስ ዋጋን ዲኮድ ያድርጉ፣ ወይም ትንሽ ምስል ውስጠ-መስመር ለማድረግ ኢንኮድ ያድርጉ። UTF-8ን ንፁህ ይይዛል፣ ግቤትዎ ተራ ASCII ባልሆነ ቅፅበት ይህ አስፈላጊ ነው።
የURL ኢንኮድ/ዲኮድ መሣሪያ የጥያቄ መለኪያ ክፍተት፣ አምፐርሳንድ፣ ወይም ፕላስ ምልክት ያለው እና በጸጥታ ጥያቄዎን የሚያፈርስ ክላሲክ ችግርን ያስተካክላል። በእጅ ማገናኛ እየገነቡ ከሆነ እና ዋጋው name=John & Co ከሆነ፣ ያ አምፐርሳንድ ወደ %26 መሸሽ ያስፈልገዋል አለበለዚያ አገልጋዩ እንደ መለኪያ መለያያ ያነበዋል። ይለጥፉ፣ ኢንኮድ ያድርጉ፣ ይቅዱ። በፐርሰንት ኮዶች የተሞላ የተመዘገበ URL ላይ ተመልክተው በእውነት የተጠየቀውን ለማወቅ ሲሞክሩ ዲኮድ ማድረግ በተቃራኒ መንገድ ይሰራል።

የቶክን መሣሪያ፣ እና አንድ አስፈላጊ ማስጠንቀቂያ
የJWT ዲኮደር ቶክኑን በነጥብ-የተለያዩ ሦስት ክፍሎቹ ይከፍላል እና ራሱን እና ጭነቱን እንደ ተራ JSON ያሳይዎታል። Auth እያደረሱ ሲሆን፣ ይህ ወርቅ ነው፦ የትኛው አልጎሪዝም ቶክኑን እንደፈረመ ይፈትሹ፣ subን ያንብቡ፣ exp የይገባኛል ጥያቄ ገና እንዳላለፈ ያረጋግጡ፣ እና ጌትዌይዎ ለደንበኛው በትክክል የትኛውን ስፍራ ወይም ሚና እየሰጠ እንደሆነ ይመልከቱ።
ይህ ሰዎች የሚረሱት ክፍል ነው። JWT ማዲኮድ ማድረግ ማረጋገጥ አይደለም። ጭነቱ ተራ Base64url ብቻ ነው — ቶክኑን የያዘ ማንኛውም ሰው በውስጡ ያለውን እያንዳንዱን የይገባኛል ጥያቄ ማንበብ ይችላል፣ ይህ መሣሪያም በትክክል ያንን ብቻ ያደርጋል እና ከዚያ የበለጠ ምንም። ፊርማውን አይፈትሽም፣ ስለዚህ ዲኮድ የተደረገ ቶክን ቶክኑ የሚናገረውን ይነግርዎታል፣ ትክክለኛ መሆኑን አይደለም። ለፍቃድ ውሳኔ ፈጽሞ ከዲኮደር የይገባኛል ጥያቄዎችን አያምኑ፤ ያ ከፊርማ ቁልፍ ጋር የአገልጋይዎ ስራ ነው። ዲኮደሩን ለመረዳት እና ለማደስ ይጠቀሙበት፣ ፈጽሞ ለማረጋገጥ አይደለም።
የregex ፈታሽ ከሁሉም ውስጥ በጣም አበሳጭ የሆነውን መገልገያ ዙር ይዘጋል። ንድፍዎን ይጻፉ፣ የተወሰነ ናሙና ጽሁፍ ይጨምሩ፣ በሚተይቡበት ጊዜ ግጥሚያዎች በቀጥታ እንዴት እንደሚደምቁ ይመልከቱ። መያዣ ቡድኖች ተዘርዝረው ይታያሉ፣ ስለዚህ ቡድን ሁለት በእውነት አመቱን እየያዘ መሆኑን ማረጋገጥ ይችላሉ፣ ሙሉውን ቀን ሳይሆን። ንድፍን በእውነተኛ ኮድቤዝዎ ውስጥ ከመፈተሽ የአርትዖት-አስቀምጥ-እንደገና-አካሂድ ዑደት ይበልጣል፣ ስግብግብ ብዛት ገላጭ ካሰቡት በላይ ለምን እንደሚውጥ ለመማርም ፈጣን መንገድ ነው።
ነገሮችን በማጠናቀቅ፦ HEX↔RGB መቀየሪያ #1a2b3cን ወደ rgb(26, 43, 60) እና ወደኋላ ይቀይራል ንድፍ ቶክኖችዎ እና CSSዎ ባልተስማሙ ጊዜ ለሚያገለግል። የYunix የጊዜ ማህተም መቀየሪያ 1718900000ን ወደ እውነተኛ ቀን እና ሰዓት ይለውጠዋል፣ ዳታቤዝ የepoch ሰከንዶች ባከማቸ ጊዜ ሁሉ እና ዓይኖችዎ ሊተነትኗቸው በማይችሉበት ጊዜ ሁሉ የሚፈልጉት። እናም የHTTP ሁኔታ ኮድ ማጣቀሻ የAPI ጥሪ ሲዘበራረቅ 422 ወይም 409 ትክክለኛው መልስ መሆኑን ከመገመት ያድንዎታል።

የአካባቢ ማካሄድ፣ ስለዚህ ስሜታዊ ነገሮችን መለጠፍ ይችላሉ
ይህ የምርት ውሂብን ለሚነካ ማንኛውም ሰው በጣም አስፈላጊው ክፍል ነው። እዚህ ያለ እያንዳንዱ መሣሪያ በደንበኛ-ጎን በJavaScript ይሰራል። ግቤትዎ ፈጽሞ ከአሳሹ አይወጣም — ምንም ስቀላ የለም፣ ወደ አገልጋይ ምንም መመላለስ የለም፣ ምንም የሚመዘገብ ነገር የለም። ይህ ማለት የይገባኛል ጥያቄዎቹን ለመመርመር እውነተኛ የመዳረሻ ቶክን መለጠፍ፣ ምስክርነት የያዘ Base64 ራስ ዲኮድ ማድረግ፣ ወይም በኔትወርኩ ላይ ፈጽሞ ሳያልፍ በደንበኛ ውሂብ የተሞላ የAPI ምላሽ ቅርጽ ማድረግ ይችላሉ ማለት ነው። ማረጋገጫ ይፈልጋሉ? የገንቢ መሣሪያዎችዎን ይክፈቱ፣ የኔትወርክ ትሩን ይመልከቱ፣ ይለጥፉ። ምንም ነገር ወደ ውጭ ሲወጣ አያዩም። ለስሜታዊ ጭነቶች፣ የአካባቢ-ብቻ መሣሪያ ጥሩ-ቢኖር-ጥሩ አይደለም፤ ብቸኛው ኃላፊነት የተሞላበት አማራጭ ነው።
ተደጋግመው የሚነሱ ጥያቄዎች
እነዚህ የገንቢ መሣሪያዎች ያለ ምዝገባ በእውነት ነጻ ናቸው?
አዎ። እያንዳንዱ መገልገያ ነጻ ነው፣ መለያ አያስፈልገውም፣ ምንም የአጠቃቀም ገደብ የለውም። ገጹን ይክፈቱ እና ስራ ይጀምሩ።
እነዚህን መሣሪያዎች ስጠቀም ውሂቤ ወደ አገልጋይ ይላካል?
አይደለም። ሁሉም ነገር በደንበኛ-ጎን በአሳሽዎ ውስጥ ይሰራል። ግቤትዎ ፈጽሞ አልተጫነም፣ ስለዚህ ቶክኖችን፣ ምስክርነቶችን፣ እና ግላዊ የAPI ምላሾችን በደህና መለጠፍ ይችላሉ።
የJWT ዲኮደር የቶክኑን ፊርማ ያረጋግጣል?
አይደለም። የይገባኛል ጥያቄዎቹን ማንበብ እንዲችሉ ራሱን እና ጭነቱን ብቻ ዲኮድ ያደርጋል። ዲኮድ ማድረግ ማረጋገጥ አይደለም። የፊርማ ማረጋገጫ የፊርማ ቁልፍ ያስፈልገዋል እና በአገልጋይዎ ላይ ነው የሚደረገው።
በBase64 ኢንኮዲንግ እና ኢንክሪፕሽን መካከል ያለው ልዩነት ምንድን ነው?
Base64 ኢንኮዲንግ ነው፣ ኢንክሪፕሽን አይደለም። በማንም ሙሉ በሙሉ ወደኋላ ሊመለስ ይችላል፣ ምንም ደህንነት አይሰጥም። ባይነሪ ውሂብን እንደ ጽሁፍ ለመወከል እንጂ ለመደበቅ የለም።
የregex ፈታሽ የትኛውን የregex ዘይቤ ይደግፋል?
በአሳሽዎ ውስጥ የሚሰራውን የJavaScript regular expression ሞተር ይጠቀማል፣ በሚተይቡበት ጊዜ ቀጥታ ግጥሚያ ማድመቅ እና የመያዣ ቡድን ውጤት ጋር።
ልክ ያልሆነ JSONን ቅርጽ ማድረግ እችላለሁ?
ቅርጻ-ቅርጽ ሰሪው ይሞክራል፣ JSONው የተበላሸ ከሆነ ደግሞ የስህተቱን ቦታ ይጠቁማል እና ምን እንደተሳሳተ ይነግርዎታል፣ ስለዚህ ማስተካከል እና እንደገና ቅርጽ ማድረግ ይችላሉ።
