是否有可能将某些数据存储在您的个人github页面上?
例如,触发计数器的按钮.当您单击按钮时,计数器增加1.当其他用户访问该页面并单击该按钮时,计数器再次增加1.
因此,它将是所有访问者在页面上显示的所有点击的总和.
Mat*_* L. 22
关于Firebase的公认答案是一个很好的快速回复,但我想为正在调查此主题的任何人写一个更长更全面的回复,因为Firebase是实现此类功能的几种方法之一.
作为背景,像mysql,postgres,redis,mongodb等数据库/数据存储是以下一个访问者查看或访问访问者数据的方式存储访问者数据的最常用方式.Django,Wordpress和Drupal等内容管理系统可以读写数据库.这些服务往往是服务器端技术,也就是说服务器管理员设置它们,以及网站用户看不到的与数据库通信的代码块.该服务器端代码库还构建用户将看到的呈现的html.所以一般来说,Github Pages不会与这些技术一起使用,因为它们只支持静态html,css和javascript - 也就是说,它们只允许客户端代码.
有关此主题的更多信息,请参阅如何将html页面连接到mysql数据库?
如果要设置只读数据存储区,Github页面上有很多选项.您可以在您的仓库中放置一个json文件,查询驱动器文档,将sqlite.db文件上传到您的仓库并查询它等.在这个想象的示例中,您必须对网站用户看到您的任何数据一切正常数据存储区,因为设置不会提供一些方法来使某些数据对用户不可见.
但是,只要您考虑写入数据库,安全就是一个问题.如果您设置某种非现场数据库并将数据库访问凭据放入客户端代码中,任何用户都可以看到这些凭据并破坏您的数据库(注入数据,接管数据,删除它等)仅此一点,您需要一个将数据从前端传递到后端的设置,反之亦然,而不会让网站流量看到引擎盖下.据我了解,这是Github Pages无法提供的功能级别.
有关客户端数据库安全性的更多信息,请参阅以下主题:https://softwareengineering.stackexchange.com/questions/180012/is-there-any-reason-not-to-go-directly-from-client-side-javascript -to-A-数据库
一种可能的解决方法是使用静态端链接到第三方服务.例如,您可以在HTML页面中嵌入Google表单.该表单可以链接到Google表格.该表可以发布到Web并设置为自动更新.您的Github页面站点可以引用该页面的公共版本,并在提交更改时更新(延迟).这种类型的设置是笨重的(我认为如果它们变得太大,Google表格会变慢)并且应该谨慎使用,因为这种设计糟糕的形式可能是垃圾邮件.更不用说查看客户端代码的任何人都可以查看Google表格的公开版本,如果您收集它,将包括提交时间和用户数据.但是,如果仔细使用,它可能适用于上述用例.
根据您的需要,您可以尝试GithubDB
从他们的文档:
曾经想过使用Github作为您的私人数据库.
为什么我要将Github用作我的数据库?
好问题.开发人员有许多不同数据库的选择,但GithubDB利用了你从Github喜爱的所有功能.
记录(使用Github,您可以快速查看提交并查看请求的写入和更新).
可视化(Github提供了可视化输入读/写次数的惊人工具).
持久性(使用Github,您可以回滚到数据的早期阶段,看看它是如何演变的).
安全性(使用Github,您的数据库从Github继承相同的标准).
可用性(Github已经知道会失败,但说实话,除非你是Facebook,否则它已经足够了).
使用Github的HTTP REST API:https : //developer.github.com/v3/ 可以通过浏览器js将json文件或sqllite文件提交/更新为github页面仓库。