您的位置:

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时注意这些方面,共同构建更安全、更受信任的开源社区。