Github隱私設置錯誤的闡述

Github是全球最大的使用Git進行版本控制和協作開發的平台,無論是個人還是組織,都可以創建項目並上傳代碼供他人查看和參與。然而,在享受開源協作帶來的便利的同時,我們也需要注意保護自己的隱私和知識產權。本文將從多個方面探討Github隱私設置錯誤,並提供代碼示例以幫助讀者正確設置自己的Github隱私。

一、忽略.gitignore文件

Git可以通過.gitignore文件指定哪些不需要被版本控制的文件或目錄,例如臨時文件、日誌文件、編譯生成的二進位文件等。然而,有些開發者會將.gitignore文件本身或者其中的某些規則提交到Github上,這就會導致敏感文件或目錄被意外地上傳到了倉庫中。

1、應該在本地創建.gitignore文件,並在其中添加需要排除的文件或目錄,例如:

*.log
*.pyc
__pycache__/
build/
dist/

2、確認.gitignore文件不存在於版本控制中:

$ git rm -r --cached .

3、確認.gitignore文件沒有被誤刪除:

$ git ls-files --others --ignored --exclude-standard

二、公開敏感信息

在Github上提交代碼時,有時會包含敏感信息,例如API密鑰、密碼、資料庫連接字元串等。如果不小心將這些信息提交到Github上,將會給自己、組織或者用戶帶來巨大的安全風險。

1、應該在代碼庫中搜索可能存在的敏感信息。Github提供了名為TruffleHog的工具,可以自動掃描代碼庫中的敏感信息,並將其列出:

$ pip install trufflehog
$ trufflehog --entropy=True --regex --rules=trufflehog_customrules.json https://github.com/my-username/my-repo.git

其中trufflehog_customrules.json文件是自定義規則的json文件,例如:

{
  "example-api-key":{
    "regex": "(?P<api_key>[sk][a-zA-Z0-9]{32})"
  },
  "example-aws-secret-access-key":{
    "regex": "(?P<aws_secret>[A-Za-z0-9/+=]{40})"
  }
}

2、應該在倉庫設置中添加Secrets,將敏感信息加密並保存。Secrets只能在工作流程或Action中使用,並且不會被包含在發布存檔中,例如:

env:
  PASSWORD: ${{ secrets.PASSWORD }}

三、公開貢獻者信息

Github上創建一個代碼庫後,可以允許其他用戶進行貢獻,例如提交代碼、回答問題、提出問題等。然而,默認情況下,Github會將貢獻者的用戶名、電子郵件和提交時間等信息全部公開,這可能涉及到用戶的隱私問題。

1、應該在代碼庫的根目錄添加CONTRIBUTING.md文件,詳細說明如何做出貢獻,並提供代碼複查和問題答覆的流程:

## 如何貢獻

歡迎您貢獻代碼、提交問題和提出改進意見。在提交之前,請閱讀以下說明:

1. Fork代碼倉庫並創建一個本地克隆。
2. 創建一個新的分支並在其中進行更改。
3. 將更改推送到您的Fork中。
4. 創建一個拉取請求並描述您所做的更改。
5. 等待我們進行代碼審查並確認您的更改。

2、應該在倉庫設置中啟用Require signed commits選項,確保貢獻者提交的每個commit都被PGP簽名。這可以避免篡改commit作者的情況發生。

以上是Github隱私設置錯誤的幾個方面,關注自己的隱私,並採取措施去保護自己的知識產權和個人隱私。同時,也要提醒他人在使用Github時注意這些方面,共同構建更安全、更受信任的開源社區。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230756.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:18
下一篇 2024-12-10 18:18

相關推薦

發表回復

登錄後才能評論