วิธีหลีกเลี่ยงการอัปโหลดคีย์ส่วนตัวของคุณไปยัง GitHub: แนวทางในการป้องกันการเปิดเผยความลับของคุณสู่สาธารณะ

บล็อก 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressจดหมายข่าว

Contents

สมัครรับจดหมายข่าวของเรา.

ที่อยู่อีเมล

เราเคารพความเป็นส่วนตัวของคุณ

หน้าแรกบล็อกการพัฒนา Blockchain

วิธีหลีกเลี่ยงการอัปโหลดคีย์ส่วนตัวของคุณไปยัง GitHub: แนวทางในการป้องกันการเปิดเผยความลับของคุณสู่สาธารณะ

รักษาคีย์ส่วนตัวและความลับ API ของคุณให้ปลอดภัยในขณะที่พัฒนาสัญญาอัจฉริยะโดย ConsenSys ตุลาคม 7, 2020 โพสต์เมื่อตุลาคม 7, 2020

ประตูไม้ล็อค PPCRJ2J


โดย Coogan Brennan และ Thomas Hay

ปีละสองสามครั้ง, เรื่องราว ทำให้ ที่ รอบ ของนักพัฒนา Ethereum ผู้โชคร้ายที่ในขณะที่สร้างโครงการบล็อกเชนได้อัปโหลดวลีช่วยในการจำที่เป็นความลับสุดยอดของพวกเขาโดยไม่ได้ตั้งใจซึ่งใช้ในการสร้างกระเป๋าเงินของพวกเขาไปยังหน้า GitHub สาธารณะของพวกเขา ภายในไม่กี่วินาทีกระเป๋าเงินของพวกเขาถูก“ แฮ็ก” และใช้เงินหมดไป.

แม้ว่าจะไม่มีอะไรถูกแฮ็กจริงๆ: ธุรกรรมการโอนทรัพย์สินทั้งหมดไปยังที่อยู่ “แฮ็กเกอร์” นั้นฟังดูดี นั่นคือเหตุผลที่เครือข่ายประมวลผลและยอมรับ เครือข่ายไม่สนใจว่าใครเป็นผู้ลงนามในธุรกรรมหรือเจตนาของพวกเขาเพียงแค่ว่าการเข้ารหัสของมันนั้นถูกต้อง เครือข่ายตั้งสมมติฐานว่าใครก็ตามที่ครอบครองกุญแจช่วยจำหรือคีย์ส่วนตัวที่สร้างขึ้นเป็นเจ้าของโดยชอบธรรมของสินทรัพย์ในบัญชีที่เกี่ยวข้อง. 

นั่นคือความสบายใจสำหรับคนที่สูญเสียการควบคุมกระเป๋าเงิน ปฏิกิริยาทันทีคือคิดว่ากระเป๋าเงินของพวกเขาถูกแฮ็ก เป็นที่เข้าใจ! แต่ก่อนที่จะไปถึงจุดที่คุณต้องสงสัยว่ากระเป๋าเงินของคุณถูกบุกรุกหรือไม่คุณควรตรวจสอบว่าคุณไม่ได้เปิดเผยข้อมูลส่วนตัวของคุณโดยไม่เจตนา.

ต่อไปนี้เป็นขั้นตอนที่ชัดเจนเพื่อหลีกเลี่ยงการตกอยู่ในสถานการณ์ที่คล้ายคลึงกัน (คะแนนโบนัส: เทคนิคที่อธิบายไว้ในบทความนี้คือสุขอนามัยด้านความปลอดภัยที่ดีเยี่ยมสำหรับโครงการใด ๆ บล็อกเชนหรือไม่!)

ด้านล่างนี้เราสรุปสองวิธีในการไม่เผยแพร่ความลับ (คีย์ API, คีย์ส่วนตัว, วลีเมล็ดพันธุ์, รหัสผ่านฐานข้อมูล) ไปยังที่เก็บ GitHub ของคุณ:

แนวทางที่ 1: Using.gitignore, a.env file และ dotenv (สมมติว่าเรากำลังพัฒนาโดยใช้รูปแบบทั่วไปของ Solidity และเวิร์กโฟลว์โดยใช้ แห้ว และ MetaMask, แม้ว่าจะได้รับการกล่าวโดยทั่วไปแล้วก็ตาม)

ขั้นตอนที่ 1: อ่านเอกสารเกี่ยวกับ.gitignore. อ่านเอกสารทั้งหน้าอย่างจริงจัง.

ไฟล์ A.gitignore ช่วยให้คุณระบุไฟล์ที่ไม่ควรติดตาม คุณจะสร้างไฟล์ a.gitignore ภายในไดเร็กทอรีที่คุณกำลังพัฒนาโปรเจ็กต์ของคุณภายในไฟล์นั้นคุณจะระบุไฟล์ที่คุณไม่ต้องการติดตาม เอกสารประกอบจะอธิบายให้คุณทราบถึงรูปแบบข้อความต่างๆที่คุณสามารถใช้เพื่อไม่ติดตาม (หรือติดตาม) ไฟล์.

นี่คือตัวอย่างหนึ่ง:

imageofgitignorefile 1

ในบรรทัดที่ 20 เราได้เพิ่มไฟล์ a.env

ขั้นตอนที่ 2: ตั้งค่าไฟล์ a.env เพื่อเก็บตัวแปรสภาพแวดล้อมของคุณ

ตัวแปรสภาพแวดล้อมเดิมนำมาใช้ใน Unix เวอร์ชัน 7 (เผยแพร่ในปี 2522 โดย Bell Labs, คลิกที่นี่เพื่อดูสำเนาคู่มือ) เปลี่ยนกระบวนการที่ระบบคอมพิวเตอร์ทำงาน ตัวแปรสภาพแวดล้อมได้ถูกนำไปใช้ในระบบปฏิบัติการทั้งหมดที่นักเรียนของเราใช้เพื่อสร้าง dApps บน Ethereum (Unix, Linux, MacOS, Windows) ในกรณีนี้ความลับของคุณจะถือว่าเป็นตัวแปรสภาพแวดล้อมและวางไว้ในไฟล์ที่เรียกว่า.env.

นี่คือตัวอย่างของไฟล์ a.env

exampleofenvfile

ขั้นตอนที่ 3: อ่านเอกสารเกี่ยวกับ dotenv. ติดตั้ง dotenv.

Dotenv “ เป็นโมดูลการพึ่งพาศูนย์ที่โหลดตัวแปรสภาพแวดล้อมจากไฟล์ a.env ไปยัง process.env” (ดึงมาจาก  https://www.npmjs.com/package/dotenv ในวันที่ 25 กันยายน 2020)

ติดตั้ง dotenv โดยใช้ npm ติดตั้ง dotenv

ขั้นตอนที่ 4: เพิ่มต้องใช้ (‘dotenv’). config () ที่จุดเริ่มต้นของแอปพลิเคชันของคุณ ใช้ process.env ในไฟล์นี้.

ตัวอย่างโค้ด: application.js

// นี่คือด้านบนของ application.js ต้องการ (‘dotenv’) config () // นี่คือตัวอย่างของ process.env ในไฟล์ var PrivateKey = new Buffer (process.env. ["PRIVATE_KEY"], "ฐานสิบหก")) // นี่คืออีกตัวอย่างหนึ่งของการใช้ process.env const APIKey = process.env.API_KEY; Code language: JavaScript (javascript)

ขั้นตอนที่ 5: ตอนนี้หากคุณต้องการเผยแพร่ไปยังที่เก็บ GitHub ที่มีอยู่หรือส่งไปยังที่เก็บ GitHub ใหม่คุณสามารถทำได้ ความลับของคุณจะไม่ปรากฏเป็นส่วนหนึ่งของที่เก็บ GitHub ของคุณ.

วิดีโอสอนจากแหล่งอื่น: Daniel Schiffman จาก รถไฟเข้ารหัส มีวิดีโอสอนโดยใช้แอปพลิเคชันสภาพอากาศในวิดีโอของเขา 3.4 การซ่อนคีย์ API พร้อมตัวแปรสภาพแวดล้อม (dotenv) และการพุชโค้ดไปยัง GitHub.

Text Tutorial จากแหล่งอื่น: Mason’s Blog มีบทช่วยสอนที่ชื่อว่า วิธีการปรับใช้โทเค็น ERC20 ใน 20 นาที. อธิบายวิธีใช้ไฟล์ a.env และ dotenv ในบริบทของการปรับใช้สัญญาอัจฉริยะโดยใช้ Truffle และ อินฟูรา.

แนวทางที่ 2: การใช้ความลับที่เข้ารหัสในการดำเนินการ GitHub (เหมาะสำหรับผู้ที่คุ้นเคยกับ GitHub ในระดับองค์กรพร้อมสิทธิ์ที่จำเป็นและบัญชี GitHub เพื่อให้สามารถนำไปปฏิบัติได้).

Approach 2 ใช้เครื่องมือที่ GitHub สร้างขึ้นโดยเฉพาะเพื่อแก้ปัญหาความลับซึ่งเป็นส่วนที่จำเป็นในการปรับใช้โค้ด แต่ไม่ใช่สิ่งที่ควรเปิดเผยต่อบุคคลที่ไม่ควรเข้าถึง แนวทางนี้เกี่ยวข้องกับองค์กรหรือบุคคลที่ใช้ GitHub มากที่สุด

ขั้นตอนที่ 1: อ่านเอกสารเกี่ยวกับ ความลับที่เข้ารหัส. อ่านเอกสารอย่างจริงจัง.

ความลับที่เข้ารหัสช่วยให้คุณจัดเก็บและใช้ความลับในที่เก็บ GitHub เดียวหรือในที่เก็บ GitHub จำนวนมาก อ่านเอกสารเกี่ยวกับวิธีการใช้งานเนื่องจาก GitHub อธิบายวิธีการใช้งานได้อย่างดีเยี่ยม ความลับที่เข้ารหัส ภายใน การดำเนินการของ GitHub

ขั้นตอนที่ 2: ทำในสิ่งที่เอกสารบอกให้คุณทำ เป็นเอกสารที่ค่อนข้างดี. 

สรุป

ตอนนี้คุณรู้สองวิธีในการป้องกันไม่ให้เผยแพร่ความลับของคุณไปยัง GitHub มีวิธีอื่นในการทำเช่นนี้หรือไม่? แน่นอน. นี่คือสองวิธีที่เหมาะกับเรา ประเด็นหลักที่เราพยายามจะสื่อคือการทำให้แน่ใจว่าคุณกำลังคิดถึงที่ที่ความลับของคุณอาจปรากฏขึ้นและตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนเพื่อปกป้องตัวเอง อยู่ที่นั่นอย่างปลอดภัย.

SecuritySmart ContractsSolidity จดหมายข่าวสมัครรับจดหมายข่าวของเราเพื่อรับข่าวสารล่าสุดของ Ethereum โซลูชันระดับองค์กรทรัพยากรสำหรับนักพัฒนาและอื่น ๆ ที่อยู่อีเมลเนื้อหาพิเศษวิธีสร้างผลิตภัณฑ์ Blockchain ที่ประสบความสำเร็จการสัมมนาผ่านเว็บ

วิธีสร้างผลิตภัณฑ์ Blockchain ที่ประสบความสำเร็จ

วิธีการตั้งค่าและเรียกใช้โหนด Ethereumการสัมมนาผ่านเว็บ

วิธีการตั้งค่าและเรียกใช้โหนด Ethereum

วิธีสร้าง Ethereum API ของคุณเองการสัมมนาผ่านเว็บ

วิธีสร้าง Ethereum API ของคุณเอง

วิธีสร้างโซเชียลโทเค็นการสัมมนาผ่านเว็บ

วิธีสร้างโซเชียลโทเค็น

การใช้เครื่องมือรักษาความปลอดภัยในการพัฒนาสัญญาอัจฉริยะการสัมมนาผ่านเว็บ

การใช้เครื่องมือรักษาความปลอดภัยในการพัฒนาสัญญาอัจฉริยะ

อนาคตของการเงินสินทรัพย์ดิจิทัลและ DeFiการสัมมนาผ่านเว็บ

อนาคตของการเงิน: สินทรัพย์ดิจิทัลและ DeFi

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me