Peta dunia

 

EN: Read in English

Dunia 8: Perisai: Keselamatan

Kunci bocor? Tukar dulu

Anda akan belajar: apa nak buat, dan ikut urutan mana, bila kunci bocor.

Teks BM belum disemak oleh penutur asli.

Masalahnya

git show --stat: commit terbaru, Add weather widget, tambah dua fail: .env dan app.js. Output terminal: $ git show --stat commit 38641c80c248817e619f5df8867478709768713b (HEAD -> main) Author: You <you@example.com> Date: Fri Oct 30 09:04:00 2026 +0800 Add weather widget .env | 1 + app.js | 3 +++ 2 files changed, 4 insertions(+)

Alamak. Commit ini dah masuk ke repo awam sejam yang lalu. Ia ada .env dan kuncinya. Anggap ada orang dah salin.

Tengok

Langkah pertama: rotate (tukar kunci) (rotate (a key)): Batalkan kunci yang bocor dan buat yang baru, supaya salinan lama tak berguna. (tukar) kunci itu. Pergi ke servis yang beri kunci itu. Batalkan kunci lama dan buat kunci baru. Sekarang salinan yang bocor tak berguna lagi.

Cuba

Ada orang cuma berhenti jejak .env dalam commit baru. Kunci dah hilang? Leret balik ke masa lalu.

c005c2c Stop tracking .env · Commit 5 daripada 5

.env—

Commit terbaru tiada .env. Satu langkah ke belakang, kunci masih ada. Sesiapa pun boleh tengok.

Cuba

Ini pelan penyelamat penuh. Susun ikut urutan, langkah pertama di atas.

Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Tulis semula sejarah dengan git filter-repo
  • Semak amaran secret scanning, kemudian tutup
  • Berhenti jejak .env dan tambah ke .gitignore
  • Force-push dan beritahu pasukan anda
  • Rotate kunci: batalkan, buat yang baru

Cuba

git filter-repo: Alat berasingan yang tulis semula sejarah, contohnya padam fail dari setiap commit. tulis semula setiap commit. Ia alat berasingan yang anda pasang sendiri. Bina arahan yang padam .env dari seluruh sejarah.

Ketik kepingan ikut turutan yang betul.

…

Teka

Anda dah tulis semula sejarah dan force-push. Tapi kunci lama tak pernah di-rotate. Selamatkah sekarang?

Pilih satu jawapan.

Semak

Langkah bagus, atau perlu baiki? Leret setiap satu.

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 4

Rotate kunci itu serta-merta

Rotate kunci itu serta-merta

Anda berjaya!

Kini anda boleh uruskan kunci yang bocor ikut urutan yang betul.

Nak tahu lebih (pilihan)

Rotate itu wajib. Tulis semula sejarah cuma pembersihan tambahan. Ia juga tukar id setiap commit selepasnya. Kunci dalam fail biasa, contohnya app.js? Guna --replace-text dengan senarai rahsia. --sensitive-data-removal perlukan git filter-repo 2.47 atau lebih baru. Pull request lama mungkin masih tunjuk kunci itu. GitHub Support boleh bantu bersihkan.