API යතුරු වැනි රහස් තොරතුරු ප්‍රභව පාලනයෙන් බැහැරව තබා ගැනීමේ උපායමාර්ගය?


219

මම වැඩ කරන්නේ ට්විටර්, ගූගල් වැනි වෙබ් අඩවි වලින් OAuth අක්තපත්‍ර භාවිතා කර පරිශීලකයින්ට ප්‍රවේශ වීමට ඉඩ සලසන වෙබ් අඩවියක ය. මෙය සිදු කිරීම සඳහා, මට මෙම විවිධ සැපයුම්කරුවන් සමඟ ලියාපදිංචි වී මා සතුව ඇති සුපිරි රහස් API යතුරක් ලබා ගත යුතුය. ශරීරයේ විවිධ කොටස් වලට එරෙහිව ප්‍රති led ා දී ආරක්ෂා කිරීමට. මගේ යතුර ගංවතුරට ලක් වුවහොත්, එම කොටස ගිලිහී යයි.

සත්‍යාපන ඉල්ලීම් ඉටු කිරීම සඳහා ධාවන වේලාවේදී API යතුර මගේ ප්‍රභවය සමඟ ගමන් කළ යුතුය. මගේ නඩුවේදී, යතුර වින්‍යාස ගොනුවක හෝ කේතය තුළම යෙදුම තුළ තිබිය යුතුය. මම තනි යන්ත්‍රයකින් ගොඩනඟා ප්‍රකාශයට පත් කරන විට එය ගැටළුවක් නොවේ. කෙසේ වෙතත්, අපි ප්‍රභව පාලනය මිශ්‍රණයට විසි කරන විට, දේවල් වඩාත් සංකීර්ණ වේ.

මම ලාභ අවජාතකයෙකු බැවින්, වලාකුළෙහි TFS හෝ GitHub වැනි නිදහස් ප්‍රභව පාලන සේවා භාවිතා කිරීමට මම කැමැත්තෙමි. මෙය මට සුළු සංසිද්ධියක් ඇති කරයි:

මගේ API යතුරු මගේ කේතයේ ඇති විට සහ මගේ කේතය පොදු ගබඩාවක ඇති විට මගේ ශරීරය නොවෙනස්ව තබා ගන්නේ කෙසේද?

මෙය හැසිරවිය හැකි ක්‍රම ගණනාවක් ගැන මට සිතිය හැකිය, නමුත් ඒ කිසිවක් තෘප්තිමත් නොවේ.

  • මට සියලු පුද්ගලික තොරතුරු කේතයෙන් ඉවත් කර යෙදවීමෙන් පසු එය නැවත සංස්කරණය කළ හැකිය. මෙය ක්‍රියාත්මක කිරීම සඳහා දැඩි වේදනාවක් වනු ඇත (මම බොහෝ ක්‍රම විස්තර නොකරමි) එය විකල්පයක් නොවේ.
  • මට එය සංකේතනය කළ හැකිය. නමුත් මට එය විකේතනය කළ යුතු බැවින්, ප්‍රභවය ඇති ඕනෑම කෙනෙකුට එය කරන්නේ කෙසේදැයි සොයා ගත හැකිය. තේරුමක් නැති.
  • පුද්ගලික මූලාශ්‍ර පාලනය සඳහා මට ගෙවිය හැකිය. LOL j / k මුදල් වියදම් කරනවාද? කරුණාකර.
  • මගේ අනෙක් ප්‍රභවයන්ගෙන් සංවේදී තොරතුරු වෙන් කිරීමට මට භාෂා අංග භාවිතා කළ හැකි අතර එම නිසා එය ප්‍රභව පාලනයෙන් වළක්වා ගත හැකිය. මම දැන් කරන්නේ මෙයයි, නමුත් රහස් ගොනුවේ වැරදියට පරීක්ෂා කිරීමෙන් එය පහසුවෙන් ඉවතට ගත හැකිය.

සංවර්ධනය, නිදොස් කිරීම සහ යෙදවීම තුළින් සුමටව ක්‍රියා කරන සහ මෝඩයන් නොවන මගේ පෞද්ගලික දේ ලෝකය සමඟ (ස්නැප්චැට් හැර) බෙදා නොගන්නා බවට සහතික වීමට මම සැබවින්ම සොයමි. මෙය සම්පූර්ණයෙන්ම යථාර්ථවාදී නොවේ. ඉතින් මට යථාර්ථවාදීව කළ හැක්කේ කුමක්ද?

තාක්ෂණික විස්තර: VS2012, C # 4.5, ප්‍රභව පාලනය TF සේවාව හෝ GitHub වනු ඇත. ප්‍රභව පාලනයට එකතු නොවන සංවේදී යතුරු වෙනම .cs ගොනුවකට බෙදීමට දැනට අර්ධ පන්තියක් භාවිතා කරයි. අර්ධ පංති ගොනුව පරීක්ෂා කර නොමැති බව සහතික කිරීම සඳහා .gitignore භාවිතා කළ හැකි බැවින් GitHub හි වාසිය තිබිය හැකි යැයි මම සිතමි, නමුත් මම මීට පෙර එය ඉවත දැමුවෙමි. "අනේ, පොදු ප්‍රශ්නයක්, ඔබ මෙය කරන්නේ කෙසේද" යන්න බලාපොරොත්තුවෙන් සිටිමි, නමුත් මට "එය තිබිය හැකි තරම් උරා නොගන්නා" සඳහා විසඳුම් ලබා දිය යුතුය,: /


6
ඔබගේ API යතුර රඳවා ඇති වින්‍යාස ගොනුව ප්‍රභව පාලිත නාමාවලියෙහි නොමැති බව ඔබට සහතික කළ හැකිය, එමඟින් එය මුලින් පරීක්ෂා කිරීමට නොහැකි වනු ඇත.
ඩේවිඩ් සර්ජි

22
BitBucket.org හි අසීමිත පෞද්ගලික ගබඩාවන් ඇත. නිදහස්. සහ gitHub නිධිය ආනයනකරු (ඉතිහාසය තබා ගනී)
රොබ් වැන් ඩර් වීර්

4
Ain ඩේනියස් මම මගේ සංවර්ධකයින් දන්නා නිසා ඔවුන්ව විශ්වාස නොකරමි. සමීපව. ඇත්ත වශයෙන්ම, මම අවම වශයෙන් මා සමඟ සමීපව සිටිමි ... නැත, මම ඒ බොරුවට ඉඩ දෙමි. නමුත් මම දන්නවා ඉස්කුරුප්පු ඇරීම කොතරම් පහසුද, සහ එම ඉස්කුරුප්පු ඇරීමේ ඉතිහාසය සීරීමට කොතරම් අපහසුද කියා.
ඉරාගෙන ඕෆ්

15
Ain ඩේනියස්: ඔව්. මගේ කණ්ඩායම් කේත වල සෑම චරිතයක්ම මම බලමි. බරපතල ලෙස. මට වෙන විකල්පයක් නැහැ. මට ඇස් පියාගෙන කේත කළ නොහැක. විශ්වසනීය නොවේ, අවම වශයෙන්. නමුත් මම එසේ කරන්නේ, මම මගේ කණ්ඩායම වන බැවිනි. මම තමයි කණ්ඩායමේ. එක් සංවර්ධකයෙක් සිටී, ඒ මම ය. මම ඔහු. ඔව්. මම එය නිවැරදිව නොකරන්නේ නම් මෙය වළක්වා ගැනීමට යන පුද්ගලයාය. මට.
ඉවතට

3
කේතයට යතුර සම්පාදනය කිරීමට ඔබ උත්සාහ කරන්නේ ඇයි? එවැනි දේ වින්‍යාස ගොනුවක තැබීම සාමාන්‍ය දෙයකි.
ඩොනල් ෆෙලෝස්

Answers:


131

ඔබගේ රහස් තොරතුරු ඔබේ කේතයට ඇතුළත් නොකරන්න. ආරම්භයේදීම ඔබේ කේතය කියවන වින්‍යාස ගොනුවකට එය දමන්න. වින්‍යාස ලිපිගොනු අනුවාද පාලනයට ඇතුළත් නොකළ යුතුය, ඒවා "කර්මාන්තශාලා පෙරනිමි" නොවේ නම්, ඉන්පසු ඒවාට පුද්ගලික තොරතුරු නොතිබිය යුතුය.

මෙය හොඳින් කරන්නේ කෙසේද යන්න පිළිබඳ අනුවාදය පාලනය සහ පුද්ගලික වින්‍යාස ගොනුවද බලන්න .


8
Ober රොබට් හාර්වි එය අනුවාද පාලනයට ඇතුළත් නොකිරීමෙන්, අවශ්‍ය විටදී නොසලකා හැරීමේ රීතියක් එක් කිරීමෙන්. මෘදුකාංගය භාවිතා කරන ඕනෑම කෙනෙකුට තමන්ගේම API යතුරකින් තමන්ගේම වින්‍යාස ගොනුවක් සෑදිය යුතුය.
පිලිප්

10
එබැවින් ඔබ ඔබේ මෘදුකාංගයේ බෙදාහැරීමක් තැනීමට සහ නිර්මාණය කිරීමට ගිය විට, එය වින්‍යාස ගොනුවක් සමඟ නැව්ගත වන බව ඔබට විශ්වාසද? ඔබ සතුව සාධාරණ පෙරනිමි සහිත ගොනුවක් නොමැති නම්, සාමාන්‍යයෙන් ඔබේ පරිශීලකයා වින්‍යාස ගොනුවක් සෑදීමේ ක්‍රියාවලියක් හරහා යාම අපේක්ෂා කිරීම සාධාරණ නොවේ.
තෝමස් ඕවන්ස්

4
හොඳයි, කර්මාන්තශාලා පැහැර හැරීම් එක් කොටසක්, "ස්ථාපකයන්" හෝ "පළමු ධාවන විශාරදයන්" තවත් කොටසක්
ජොහැන්නස්

6
බොහෝ පරිශීලකයින්ට තමන්ගේම ස්ථාපනය තිබේ නම්, ඔවුන් තමන්ගේම API යතුරක් සාදා භාවිතා කළ යුතු නොවේද? එකම යතුරක් භාවිතා කරන බහු අඩවි / ස්ථාපනයන් බොහෝ විට නරක අදහසකි. එය එක් ස්ථාපනයකි නම්, වින්‍යාස ගොනුවක් භාවිතා කිරීම විශාල කරදරයක් නොවේ.
මයික් වෙල්ලර්

10
Il විල්, ක්‍රියාත්මක කිරීමේ තොරතුරු වල ප්‍රායෝගික නොවන නිසා ඔබට මෙය කළ නොහැකි නම්, මම කියන්නේ ඔබට යෙදවීම සඳහා නිසි මෙවලම් නොමැති බවයි. නොගැලපෙන රහස් වින්‍යාස ගොනුවක් භාවිතා කිරීම සම්පූර්ණයෙන්ම වේදනා රහිත විය යුතුය. මම රුබී පරිසර පද්ධතියේ ජීවත් වන බැවින් ඔබට නිශ්චිත උපදෙස් ලබා දිය නොහැක, සී # නොවේ. නමුත් රූබි ජනතාව ස්වයංක්‍රීයව යෙදවීම සඳහා කැපිස්ට්‍රානෝ භාවිතා කරයි. මට විශ්වාසයි C # ස්වයංක්‍රීයව යෙදවීම සඳහා එහි මෙවලම ඇති අතර මෙය ක්‍රියාවලිය පහසු කරයි.
බෙන් ලී

29

ඔබට සියලු පුද්ගලික / ආරක්ෂිත යතුරු පද්ධති පරිසර විචල්‍යයන් ලෙස තැබිය හැකිය. ඔබගේ වින්‍යාස ගොනුව මේ ආකාරයෙන් පෙනෙනු ඇත:

private.key=#{systemEnvironment['PRIVATE_KEY']}

අපි එම අවස්ථා හසුරුවන ආකාරය මෙයයි. එය විවිධ දේපල ලිපිගොනු සහ පැතිකඩ සමඟ හොඳින් ක්‍රියා කරයි. විවිධ පරිසරයන් සඳහා අපි විවිධ දේපල ගොනු භාවිතා කරමු. අපගේ දේශීය සංවර්ධන පරිසරය තුළ දේශීය සැකසුම සරල කිරීම සඳහා අපි සංවර්ධන යතුරු දේපල ලිපිගොනු තුළ තබමු:

private.key=A_DEVELOPMENT_LONG_KEY

මගේ සත්කාරක විකල්පය සමඟ වැඩ කිරීමට මට හැකි නම් මෙය සාධාරණ විසඳුමක් වනු ඇත. පරිසර විචල්‍යයන් නොවනු ඇත, නමුත් සමහර විට ප්‍රකාශයට පත් කිරීමෙන් පසු අතුගා දැමිය නොහැකි සමහර යතුරු / අගය වින්‍යාස යුගල ...
ඉවත ලන ලදි

සජීවී පරිසරයට නැව්ගත කිරීමට පෙර එම පරිසර විචල්‍යයන් ඔබේ ගොඩනැගීමේ සේවාදායකයේ තැබීම ගැන කුමක් කිව හැකිද? එමගින් නිෂ්පාදන සම්පත් / වින්‍යාස ගොනු සඳහා ඔබ සූදානම් වනු ඇත.
අයොනිස් සිකාස්

ගොඩනැඟීමේ සේවාදායකය යනු සංවර්ධන යන්ත්‍රය වන අතර ඒ නිසා මෙම තොරතුරු අහම්බෙන් ප්‍රභව පාලනයට පරීක්ෂා කිරීම ගැන මම සැලකිලිමත් වෙමි.
ඉවතට

මෙහි ඇති ගැටළුව විය හැක්කේ පරිසරය සේවාදායකයේ ඕනෑම කෙනෙකුට කියවිය හැකි වීමයි.
ජේසන් ජී


27

පිරිසිදු Git මාර්ගය

  • .gitignore පුද්ගලික දත්ත සමඟ ගොනුව ඇතුළත් කර ඇත
  • ඔබ ප්රතිස්ථාපනය දේශීය ශාඛා, භාවිතා කරන්න TEMPLATEසමගDATA
  • (දේශීය) ෆිල්ටරයේ ස්ක්‍රිප්ට් ද්විපාර්ශ්වික ප්‍රතිස්ථාපනය සිදු කරන ස්මඩ්ජ් / පිරිසිදු ෆිල්ටර භාවිතා කරන්න TEMPLATE<->DATA

රසදිය

  • ව්‍යාජ කේතයට ඉහළින් ඇති MQ-patch (es), එය ප්‍රතිස්ථාපනය TEMPLATEකරයි DATA(වෙනස් කිරීම් පොදු වේ, පැච් පුද්ගලිකයි)
  • විෙශේෂෙයන් නිර්මාණය කරන ලද පදය සහිත පදය දීර් extension කිරීම (පුළුල් කරන ලද්දේ ඔබගේ වැඩ කරන නාමාවලිය තුළ පමණි )

SCM- අ nost ෙයවාදී ක්‍රමය

  • ගොඩනැගීමේ / යෙදවීමේ ක්‍රියාවලියේ කොටසක් ලෙස මූල පද ප්‍රතිස්ථාපනය කරන්න

හ්ම් ... git උපදෙස් හොඳයි, ඔබේ අ nost ෙයවාදී උපදෙස් මට හොඳ අදහසක් ලබා දෙයි ... ප්‍රකාශන ක්‍රියාවලියට ගොනුව හඳුන්වා දීමට මට ගොඩනංවන සිදුවීම් භාවිතා කළ හැකිය, පසුව එය ඉවත් කරන්න, එවිට එය සිදු නොවන බව සහතික කිරීමට උපකාරී වේ අහම්බෙන් .. මූලාශ්රය පාලනය එකතු කළ
ඉරා

7
නැත, නැත සහ නැවත වරක් - නැත! ලිපිගොනු නොසලකා හැරීම ක්‍රියාවලියක් හෝ වෙනත් දෙයක් තැනීම සඳහා විශේෂිත අභිරුචිකරණයක් එක් කිරීම සඳහා හොඳ ය, නමුත් එය කිසි විටෙකත් ආරක්ෂිත දත්ත ගබඩා කිරීම සඳහා භාවිතා නොකෙරේ. ඔබ නොසලකා හැරියද, ආරක්ෂිත දත්ත ගබඩාවේ ගබඩා නොකරන්න.
shabunc

11
@ ෂබුන්ක් - ආර්ටීඑෆ්එම්! නොසලකා හරින ලද ගොනුව repo හි ගබඩා කර නොමැත
Lazy Badger

9
Az ලේසිබැජර් - එය නොසලකා හරින බව මම හොඳින් දනිමි. මම ද දනිමි, රෙපෝ හි සිටීම නිසා, කවුරුහරි වැරදීමකින් එය කෙසේ හෝ රෙපෝවට එකතු කිරීමට අවස්ථාවක් තිබේ. සමහර බාහිර වින්‍යාස මාර්ග වඩා හොඳය.
ෂබුන්ක්

5
abshabunc - වින්‍යාසය SCM මාර්ගයෙන් බැහැරව තබා ගැනීම සඳහා හොඳ කරුණක්. උදාහරණයක් ලෙස, මුරපදය ගොනුවක තැබීමෙන් මුරපද චෙක්පත් මඟ හැරීමට Postgres ඔබට ඉඩ දෙන්නේ මේ නිසා ය. නමුත් මුරපද ගොනුව ~ / .pgpass තුළට දැමිය යුතු යැයි ඔවුනට අවශ්‍ය වේ - එය අනුමාන වශයෙන් ප්‍රභව පාලනය පරීක්ෂා කිරීමට පහසු ස්ථානයක් නොවේ. ඔවුන් දන්නවා, ස්වයංක්‍රීයකරණය සඳහා, ඔවුන් ඔබට තුවක්කුවක් ලබා දිය යුතු නමුත්, ඔවුන් ඔබටම වෙඩි තබා ගැනීමෙන් වළක්වා ගැනීමට වෙහෙස මහන්සි වී වැඩ කරයි ..
ස්ටීව් මිඩ්ග්ලි

14

මම රහස් සංකේතාත්මක ගොනුවලට ඇතුළත් කරමි. පද්ධතිය දියත් කරන විට පාස් වාක්‍යය සපයනු ලැබේ, නැතහොත් එය මා විසින් සිදු නොකරන කුඩා ගොනුවක ගබඩා කර ඇත. මෙම සංකේතාත්මක ලිපිගොනු සතුටින් කළමනාකරණය කිරීමට Emacs කටයුතු කිරීම සතුටක්. උදාහරණයක් ලෙස, emacs init ගොනුවට ඇතුළත් වන්නේ: ("secrets.el.gpg" පටවන්න), එය ක්‍රියාත්මක වන්නේ - මා සංස්කාරකය ආරම්භ කරන විට එම දුර්ලභ අවස්ථාවන්හි මුරපදය ඉල්ලා සිටිනු ඇත. කවුරුහරි ගුප්තකේතනය බිඳ දැමීම ගැන මම කණගාටු නොවෙමි.


3
මෙය හොඳ විසඳුමක් - ඔබට පුදුමයට කරුණක් නම් ඔබට වැඩි ඡන්ද ප්‍රමාණයක් නොලැබීමයි. මම එක්සත් ජනපදයේ ෆෙඩරල් නියාමනය කරනු ලබන ශිෂ්‍ය දත්ත සමඟ කටයුතු කරන සමාගමක් සමඟ වැඩ කරමි, එබැවින් ඔවුන් අක්තපත්‍ර සහ රහස් පිළිබඳව අමතර සැලකිලිමත් විය යුතුය. ඔවුන් ද විශාල සමාගමක් වන බැවින් ඔවුන්ට අක්තපත්‍ර සඳහා SCM භාවිතා කළ යුතු අතර එමඟින් තොරතුරු තාක්‍ෂණ ආයතනයට ඒවා සොයා ගැනීමට / කළමනාකරණය කිරීමට හැකිය. ඔබේ විසඳුම හරියටම ඔවුන් කරන දෙයයි. Dev / staging / prod / etc සඳහා විකේතන යතුරු රඳවා ඇති යතුරු ගොනු විකේතනය කර ඇත (එක් එක් ගොනුව). එවිට සියලු රහස් සංකේතනය කර ලිපිගොනු තුළට පරීක්ෂා කරනු ලැබේ. විකේතනය කරන ලද ගොනු එක් එක් පරිසරය තුළ ලබා ගැනීමට භාවිතා කරයි.
ස්ටීව් මිඩ්ග්ලි

8
හොඳයි, සමහර අර්ථයෙන් රහස් (මෙම අවස්ථාවේදී API යතුර) කේතනය පමණක් ප්රශ්නය මාරු රහස් දත්ත සිදු නොවන කිරීමට සමත් වැකිය සිදු නොවන (දැන් බවට පත් රහස් දත්ත ). නමුත් ඇත්ත වශයෙන්ම, පද්ධති දියත් කිරීමේදී එය ඉල්ලා සිටීම හොඳ විකල්පයකි.
siegi

මම මේ විසඳුමට කැමතියි. ඔබ කරන ආකාරයේ සංකේතාත්මක ගොනුවක් KeePass ගොනුවක් විය හැකිය. notes.Env ගොනුවේ අන්තර්ගතය ගබඩා කිරීම සඳහා ක්ෂේත්‍රය භාවිතා කරමින් සෑම පරිසරයක් සඳහාම එයට ප්‍රවේශයක් ඇත. මාස කිහිපයකට පෙර මම Keepass ගොනුවක් කියවා .env ගොනුවක් නිර්මාණය කළ හැකි මෙවලමක් ලිවීය notes. මම require('switchenv').env()Node.js වැඩසටහනේ ඉහළින්ම කළ හැකි වන පරිදි විශේෂාංගයක් එක් කිරීමට අදහස් කරමි. NODE_ENV හා ඒ හා සමාන යමක් ඇතුළත් කළ ප්‍රවේශය මත පදනම්ව process.env විචල්‍යයන් නිර්මාණය කරමි. -> github.com/christiaanwesterbeek/switchenv
ක්‍රිස්ටියාන් වෙස්ටර්බීක්

14

මෙය ඉතා ඇන්ඩ්‍රොයිඩ් / ශ්‍රේණියේ විශේෂිත නමුත් ඔබට gradle.propertiesපිහිටා ඇති ඔබගේ ගෝලීය ගොනුවේ යතුරු නිර්වචනය කළ හැකියuser home/.gradle/ . බිල්ඩ් ටයිප් හෝ රසය අනුව විවිධ ගුණාංග භාවිතා කළ හැකි බැවින් මෙයද ප්‍රයෝජනවත් වේ.

gradle.properties

MY_PRIVATE_API_KEY=12356abcefg

build.gradle

buildTypes {
        debug{
            buildConfigField("String", "GOOGLE_VERIFICATION_API_KEY", "\"" + MY_PRIVATE_API_KEY +"\"")
            minifyEnabled false
            applicationIdSuffix ".debug"
            }
        }

කේතයෙන් ඔබ මේ ගැන සඳහන් කරයි

String myAPI = BuildConfig.GOOGLE_VERIFICATION_API_KEY;

බිල්ඩ්කොන්ෆිග් අනුරූප මූලාශ්‍ර ගොනුවට පරිවර්ථනය කරයි, එබැවින් ඔබේ ඇප්කේ හි සරල ප්‍රතිලෝම ඉංජිනේරු විද්‍යාව මඟින් ඔබ බිල්ඩ්කොන්ෆිග්
දිමිත්‍රි ලිවොටොව්

2
ඇත්ත වශයෙන්ම, වලංගු කරුණක්. නමුත් ප්‍රශ්නය වූයේ ද්විමය නොව ප්‍රභව කේත වලින් api යතුරු තබා ගන්නේ කෙසේද යන්නයි.
ස්කොට්යාබ්

11

එම යතුර ඔබේ යෙදුම සමඟ බෙදා හැරීමට හෝ ප්‍රභව කේත ගබඩාවේ ගබඩා කිරීමට ඔබ සිතන්නේ නැත. මෙම ප්‍රශ්නය එය කරන්නේ කෙසේදැයි අසයි, එය සාමාන්‍යයෙන් සිදු නොවේ.

ජංගම වෙබ් යෙදුම

ඇන්ඩ්‍රොයිඩ් / අයිෆෝන් සඳහා, යෙදුම පළමු වරට ක්‍රියාත්මක වන විට උපාංගය ඔබේ වෙබ් සේවාවෙන් KEY ඉල්ලා සිටිය යුතුය. යතුර පසුව ආරක්ෂිත ස්ථානයක ගබඩා කර ඇත. යතුර ප්‍රකාශකයා විසින් වෙනස් කළ යුතුද නැතහොත් අවලංගු කළ යුතුද? ඔබේ වෙබ් සේවයට නව යතුරක් ප්‍රකාශයට පත් කළ හැකිය.

සත්කාරක වෙබ් යෙදුම

ඔබේ මෘදුකාංගයේ බලපත්‍රයක් භාවිතා කරන ගනුදෙනුකරුවන්ට පළමු වරට මෘදුකාංගය වින්‍යාස කිරීමේදී යතුර අතින් ඇතුල් කිරීමට සිදුවේ. ඔබට සෑම කෙනෙකුටම එකම යතුරක්, විවිධ යතුරු ලබා දිය හැකිය, නැතහොත් ඒවා ඔවුන්ගේම වේ.

ප්රකාශිත මූලාශ්ර කේතය

ඔබ ඔබේ ප්‍රභව කේතය පොදු ගබඩාවක ගබඩා කර ඇති නමුත් KEY නොවේ. ගොනුව වින්යාසය දී ඔබ රැහැන් එකතු * අද මෙහි ප්රධාන * . සංවර්ධකයෙකු ඔබේ ප්‍රභව කේතය භාවිතා කරන විට ඔවුන් sample.cfgගොනුවේ පිටපතක් සාදා ඔවුන්ගේම යතුරක් එක් කරයි.

ඔබේ config.cfgගොනුව සංවර්ධනය හෝ නිෂ්පාදනය සඳහා භාවිතා කරන ගබඩාවේ තබා නොගනී .


4
මෙම ප්‍රශ්නය අසන්නේ එය කරන්නේ කෙසේද යන්නයි , එය නියත වශයෙන්ම එසේ නොවේ. කාරණය නම්, මෙම යතුරු කේතයෙන් භාවිතා කළ යුතු අතර, එබැවින් කේතයෙන් ප්‍රවේශ විය යුතු අතර, සාමාන්‍යයෙන් එයින් අදහස් කරන්නේ කේත හෝ වින්‍යාස ගොනු හරහා ය, ඒවා ප්‍රභවයක් නොමැති නම් ඒවා අවම වශයෙන් ආසන්නයේ ඇති අතර අහම්බෙන් අවසන් විය හැකිය මූලාශ්රය. අවාසනාවකට, සත්කාරක වෙබ් යෙදුම විකාරයකි. ඔබගේ (උපකල්පිත) ෆේස්බුක් ගිණුම හරහා ස්ටැක් ඕවර්ෆ්ලෝ වෙත පිවිසීමට ඔබ API යතුරක් සඳහා අයදුම් කිරීමට අවශ්‍ය නොවීය. අද මෙහි ප්රධාන ඇති ප්රශ්නය විස්තර කර ඇත ලෙස බව dev-> Pub පරිසරය තුළ වැඩ නැහැ දැවැන්ත අතිසරලකරණයකි
ඉරාගෙන ඕෆ්

තවත් බොහෝ අය මෙන් මමත් ප්‍රශ්නයට නිවැරදිව පිළිතුරු දී ඇත්තෙමි. ඔබ ඒවායින් එකක්වත් පිළිගෙන නැති බව අඟවන්නේ මෙම යතුරු සමඟ වැඩ කරන්නේ කෙසේදැයි ඔබට නොතේරෙන බවයි.
ප්‍රතික්‍රියා

7
යතුරු ප්‍රකාශන වෙබ් සේවාව අපි ආරක්ෂා කරන්නේ කෙසේද? වෙනත් යතුරක් භාවිතා කරනවාද?
ජියැන්ග් ෂැං

@ ජියැන්ග්ෂැං පැවසූ දේ ඩිටෝ - මෙය භයානක උපදෙස්
ඩේවිඩ් කේ. හෙස්

5

එක් එක් සේවාදායකය සඳහා වෙනස් වන රහස් දේවල් සඳහා පරිසර විචල්‍යයන් භාවිතා කරන්න.

http://en.wikipedia.org/wiki/En Environment_variable

ඒවා භාවිතා කරන්නේ කෙසේද යන්න භාෂාව මත රඳා පවතී.


3
අපැහැදිලි භාවයෙන් ආරක්ෂාව බොහෝ දෙනෙකුට නිර්දේශිත ප්‍රවේශයක් නොවේ. ඔබේ පිළිතුර වඩාත් පැහැදිලිව විස්තර කිරීමට ඔබ කැමතිද?

2
එය අපැහැදිලි නොවේ, පරිසර විචල්‍යයන් ලබා ගත හැක්කේ ඔබ ඒවා එකතු කළ පරිශීලකයාට පමණි, එබැවින් ඔබගේ සියලු අක්තපත්‍ර ඔබගේ යෙදුම ක්‍රියාත්මක වන පරිශීලක සන්දර්භයේ එකම ආරක්ෂාවක් ඇත. පරිසර විචල්යයන් පිළිබඳ සංකල්පය ඇතුළත් කිරීම සඳහා මම පිළිතුර යාවත්කාලීන කළෙමි. එය වඩාත් පැහැදිලිද?
ෆිලිප් ගුස්ටි

4

මම හිතන්නේ මෙය සෑම කෙනෙකුටම යම් වේලාවක යම් ගැටලුවක් වී ඇති ප්‍රශ්නයක්.

මෙන්න මම භාවිතා කළ වැඩ ප්‍රවාහයක්, එය ඔබට වැඩ කළ හැකිය. එය .gitignore භාවිතා කරයි.

  1. සියලුම වින්‍යාස ගොනු විශේෂ ෆෝල්ඩරයකට යයි (w / නියැදි වින්‍යාස ගොනු - අත්‍යවශ්‍ය නොවේ)
  2. සියලුම වින්‍යාස ගොනු .gitignore හි ඇතුළත් කර ඇති බැවින් ඒවා පොදු නොවේ
  3. පුද්ගලික පෙට්ටියක ගිටොලයිට් සේවාදායකයක් (හෝ ඔබේ ප්‍රියතම git සේවාදායකය) සකසන්න
  4. පුද්ගලික සේවාදායකයේ ඇති සියලුම වින්‍යාස ගොනු සමඟ repo එකක් එක් කරන්න
  5. ප්‍රධාන repo හි ඇති විශේෂ ෆෝල්ඩරයට වින්‍යාස ගොනු පිටපත් කිරීමට ස්ක්‍රිප්ට් එකක් එක් කරන්න (අත්‍යවශ්‍ය නොවේ)

දැන්, ඔබට ඕනෑම සංවර්ධන හා යෙදවීමේ පද්ධතියකට වින්‍යාස කිරීමේ ක්ලෝනය ක්ලෝන කළ හැකිය. ලිපිගොනු නිවැරදි ෆෝල්ඩරයට පිටපත් කිරීමට ස්ක්‍රිප්ට් ධාවනය කර ඔබ ඉවරයි.

ඔබ තවමත් සියලු GitHub කැන්ඩි ලබා ගනී, ඔබේ කේතය ලෝකය සමඟ බෙදා ගන්න, සංවේදී දත්ත කිසි විටෙකත් ප්‍රධාන ගබඩාවේ නොමැත, එබැවින් ඒවා ප්‍රසිද්ධියට පත් නොවේ. ඒවා තවමත් ඕනෑම යෙදවීමේ පද්ධතියකින් away ත්වී පිටපතක් පමණි.

මම පුද්ගලික git සේවාදායකය සඳහා වසරකට 15 $ / කොටුවක් භාවිතා කරමි, නමුත් ලාභ අවශ්‍යතාවයට අනුව ඔබට නිවසේදීම එකක් සැකසිය හැකිය ;-)

PS: ඔබට git subodule ( http://git-scm.com/docs/git-submodule ) භාවිතා කළ හැකිය , නමුත් මට සෑම විටම විධානයන් අමතක වේ, එබැවින් ඉක්මන් හා අපිරිසිදු නීති!


2

ගුප්තකේතනය භාවිතා කරන්න, නමුත් ආරම්භයේදී ප්‍රධාන යතුරක් ලබා දෙන්න, කොන්සෝලයේ මුරපදයක් ලෙස, ගොනුවක් තුළ ක්‍රියාවලියේ පරිශීලකයාට පමණක් කියවිය හැකිය, නැතහොත් මැක් ඕඑස් යතුරුපුවරුව හෝ වින්ඩෝස් යතුරු ගබඩාව වැනි පද්ධති සපයන යතුරු ගබඩාවකින්.

අඛණ්ඩව බෙදා හැරීම සඳහා, ඔබට විවිධ යතුරු කොතැනක හෝ පටිගත කිරීමට අවශ්‍ය වනු ඇත. වින්‍යාසය කේතයෙන් වෙන් කළ යුතුය, නමුත් එය සංශෝධන පාලනය යටතේ තබා ගැනීම අර්ථවත් කරයි.


1

3 උපායමාර්ග, තවමත් සඳහන් කර නැත (?)

VCS හි පෙර පරීක්ෂා කිරීමේදී හෝ කොක්කෙන් පරීක්ෂා කරන්න

  • ඉහළ එන්ට්‍රොපිය සහිත නූල් සොයන්න, උදාහරණ- අනාවරණය-රහස්
  • regex සුප‍්‍රසිද්ධ API යතුරු රටා සෙවීම. AWS හි AKIA * යතුරු උදාහරණයකි, git-secrets යනු එය මත පදනම් වූ එක් මෙවලමකි. එසේම, නිරන්තර පැවරුම් සහිත 'මුරපදය' වැනි විචල්ය නම්.
  • දන්නා රහස් සොයන්න- ඔබ ඔබේ රහස් දන්නවා, ඒවා සඳහා පෙළ සොයන්න. නැතහොත් මෙවලමක් භාවිතා කරන්න, මම මෙම සංකල්පය සනාථ කළෙමි .

දැනටමත් සඳහන් කර ඇති උපාය මාර්ග

  • ප්‍රභව ගසෙන් පිටත ගොනුවේ ගබඩා කරන්න
  • එය ප්‍රභව ගසෙහි තබා ගන්න, නමුත් එය නොසලකා හරින ලෙස VCS ට කියන්න
  • පරිසර විචල්‍යයන් යනු ප්‍රභව ගසෙන් පිටත දත්ත ගබඩා කිරීමෙහි විචලනයකි
  • සංවර්ධකයින්ට වටිනා රහස් ලබා නොදෙන්න

0

පුද්ගලික තොරතුරු ඔබගේ ප්‍රභව පාලනයෙන් බැහැරව තබන්න. බෙදා හැරීම සඳහා පටවා නැති පෙරනිමියක් සාදන්න, සහ ඔබේ VCS සැබෑ එක නොසලකා හරින්න. ඔබගේ ස්ථාපන ක්‍රියාවලිය (අත්පොත, වින්‍යාස කිරීම / ගොඩනැගීම හෝ විශාරද වේවා) නව ගොනුව නිර්මාණය කිරීම සහ ජනගහනය කිරීම හැසිරවිය යුතුය. අවශ්‍ය පරිශීලකයාට (වෙබ් සේවාදායකය?) පමණක් එය කියවිය හැකි බව සහතික කිරීම සඳහා ගොනුවේ අවසරයන් විකල්ප වශයෙන් වෙනස් කරන්න.

ප්‍රතිලාභ:

  • සංවර්ධන ආයතනය == නිෂ්පාදන ආයතනය යැයි නොසිතයි
  • සියලුම සහයෝගිතාකරුවන් / කේත සමාලෝචකයින් විශ්වාසදායක යැයි නොසිතයි
  • අනුවාද පාලනයෙන් බැහැරව තබා ගැනීමෙන් පහසු වැරදි වළක්වා ගන්න
  • QA / බිල්ඩ් සඳහා අභිරුචි වින්‍යාසය සමඟ ස්ථාපනයන් ස්වයංක්‍රීය කිරීමට පහසුය

ඔබ දැනටමත් මෙය කරමින් සිටින අතර අහම්බෙන් එය පරීක්ෂා කරන්නේ නම්, එය ඔබේ ව්‍යාපෘතියට එක් කරන්න .gitignore . මෙය නැවත කිරීමට නොහැකි වනු ඇත.

එහි සිටින පෞද්ගලික නිධි සපයන පමණ නිදහස් Git සත්කාරක ඕන තරම්. ඔබ කිසි විටෙකත් ඔබේ අක්තපත්‍ර සංස්කරණය නොකළ යුතු වුවද, ඔබට ලාභදායී විය හැකි අතර පුද්ගලික ගබඩාවන් ද තිබිය හැකිය. ^ _ ^


-2

OAuth යතුර ඕනෑම තැනක අමු දත්ත ලෙස ගබඩා කර තබනවා වෙනුවට, කිසියම් සංකේතාංකන ඇල්ගොරිතමයක් හරහා නූල ධාවනය කර එය ලුණු දැමූ හැෂ් ලෙස ගබඩා නොකරන්නේ ඇයි? ධාවන වේලාවේදී එය ප්‍රතිස්ථාපනය කිරීමට වින්‍යාස ගොනුවක් භාවිතා කරන්න. ඒ ආකාරයෙන් යතුර සංවර්ධන පෙට්ටියක හෝ සේවාදායකයේම ගබඩා කර තිබේද යන්න කොතැනකවත් ගබඩා නොවේ.

ඔබේ සේවාදායකය ස්වයංක්‍රීයව නව ලුණු සහිත හා හැෂ් කළ API යතුරක් ඉල්ලීම් පදනමක් මත ජනනය කරන ආකාරයේ API එකක් පවා ඔබට නිර්මාණය කළ හැකිය, එමගින් ඔබේ කණ්ඩායමට පවා OAuth ප්‍රභවය දැකිය නොහැක.

සංස්කරණය කරන්න: සමහර විට ස්ටැන්ෆර්ඩ් ජාවාස්ක්‍රිප්ට් ක්‍රිප්ටෝ පුස්තකාලය උත්සාහ කරන්න , එය සුරක්ෂිත සමමිතික සංකේතනය / විකේතනය සඳහා ඉඩ ලබා දේ.


1
හැෂ් යනු සාමාන්‍යයෙන් එක් ක්‍රමයක් පොරබැදීමකි. සමමිතික සංකේතාංකන ඇල්ගොරිතම ඇත, නමුත් ඔබ යෝජනා කරන පරිදි එය කරනු ඇත.

3
මචන්, ඔබට හැෂ් එකක් පහසුවෙන් සංකේතනය කළ නොහැක. හැෂ් වල සම්පූර්ණ කාරණය එයයි. මෙය මා වෙනත් කෙනෙකුගේ ඒපීඅයි පරිභෝජනය සඳහා වන අතර එහිදී ඔවුන් මට රහස් යතුරක් ලබා දේ. මගේ හැෂිං මඟින් (මම දුර්වල ඇල්ගෝවක් තෝරාගෙන සෑම විටම එය බිඳ දැමුවහොත් හැර) මට ඔවුන්ගේ API භාවිතා කළ නොහැකි බව සහතික කරයි.
ඉවතට
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.