javascript - 我可以使用 GET 请求从私有 GitHub 存储库获取代码吗?
问题描述
我正在建立一个网站,我想进行一些简单的身份验证。我知道这不是最安全的方法,但我想要一些快速简单的方法。此外,网站上没有需要极其安全的身份验证的敏感数据。
这是我要使用的方法:
我有一个私人GitHub 存储库,其中有一个 JSON 文件,其中包含以下格式的人员凭据:
{
"admin": {
"username": "USERNAME_HERE",
"password": "PASSWORD_HERE",
"id": 7777
}
}
当用户尝试登录时,请求是否可以从 JSON 文件中获取数据?我尝试使用raw.githubusercontent.com(原始代码),但由于 repo 是私有的,因此 URL 末尾需要一个访问令牌。访问令牌也会在一段时间后过期,需要一个新的。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(xhttp.response);
let a = JSON.parse(xhttp.response);
}
};
xhttp.open("GET", "https://raw.githubusercontent.com/username/repo/master/json/data.json?token=MY_TOKEN", true);
xhttp.send();
这工作了一段时间,但随后令牌过期并且令牌在源代码中也可见,因此该方法是否。
如果有一些我可以使用的永久类型的令牌,我还需要从源代码中隐藏它。
如果我不能这样做,那么我有什么办法可以在线托管文件,并且是唯一可以访问它的人,也许是使用令牌?如果我能获得一些关于如何从源代码中隐藏令牌的想法,那就太好了。
解决方案
我知道这不是最安全的方法,但我想要一些快速简单的方法。
它既不安全,也不快速,也不简单。
当用户尝试登录时,请求是否可以从 JSON 文件中获取数据?
使用 Github API 读取文件(这将要求他们以有权读取您的存储库的用户身份对 Github 进行身份验证,这使得整个事情变得糟糕)。
如果我不能这样做,那么有什么办法可以让我在线托管文件,并且是唯一可以访问它的人,也许有一个令牌?
任何类型的服务器端身份验证系统都可以做到这一点。
如果我能获得一些关于如何从源代码中隐藏令牌的想法,那就太好了。
唯一的方法是让用户输入令牌(或使用密码管理器等)。
推荐阅读
- typescript - TypeScript:如何根据第一个参数的值制作可选的第二个参数
- .net - 如何在 Visual Basic 中将文本框数据添加到数据库
- android - Android 通过 Retrofit 发送 HTTP POST 来触发云功能
- vue.js - 休假过渡期间未应用计算样式
- flutter - 我如何将模拟器连接到 vscode 以制作颤振项目
- java - 不能使用由 Volley 库中的 newRequestQueue 创建的队列
- php - Zend Expressive API does not return contents of objects
- python - 如何使用线程中的数据?
- javascript - 将 Base64 作为图像发送到 Mobile Share
- python - 如何在 PyQt5 中获取小部件的边框宽度?