他们说:
GitHub Pages 网站不应用于发送密码或信用卡号等敏感交易。
尽管他们正式支持 HTTPS,但情况仍然如此。
看看这个场景:我在 Github 上托管静态网站,启用了 HTTPS。我有一个在云中运行的服务器,我在静态网站上收集/显示的所有非静态信息都通过 HTTPS 存储在/从该服务器上获取。
如果静态网站采用 HTTPS 连接,并且我与云服务器的所有连接也都采用 HTTPS 连接,那么我应该能够使用 Github Pages 进行敏感交易,例如发送密码或信用卡号,对吗?
我很好奇 Github 说你“不应该这样做”的原因是什么,尽管我觉得在使用 GitHub 页面时有一种方法可以保证安全。
答案1
HTTPS 加密/保护传输中的信息(即从客户端到服务器和服务器到客户端),但不加密/保护静态信息。因此,即使您在页面上输入密码或信用卡信息并以某种方式将其置于授权墙后面,GitHub 也不会以某种方式隐式加密数据,从而防止可能入侵 GitHub 的黑客简单地从他们的系统中导出这些数据。
本质上,这是一种责任问题。:)
答案2
原因是 github 使用 Let's Encrypt 域验证 (DV) SSL 证书。这些证书要求您通过在您想要 SSL 证书的域上创建 DNS 记录或将文件上传到您的域指向的网站来显示域的所有权。仅仅因为您拥有域名并不意味着您有权为出现在该域名网站上的特定公司开展业务。
如果您希望用户确信您的网站有权使用其上所使用的名称开展业务,则您应该使用组织验证 (OV) 或扩展验证 (EV) 证书。
在 OV 证书中,您将在证书的主题字段中看到注册的企业名称。例如,当我访问 wellsfargo.com 时,我会看到这个,因此我可以确定 wellsfargo.com 的所有者是谁,因为域名本身并不具有权威性,因为您可以创建任何您想要的、尚未被占用的域名。
CN = www.wellsfargo.com
OU = DCG-PSG
O = Wells Fargo & Company
L = San Francisco
S = California
C = US
SERIALNUMBER = 251212
1.3.6.1.4.1.311.60.2.1.2 = Delaware
1.3.6.1.4.1.311.60.2.1.3 = US
2.5.4.15 = Private Organization
现在我有了姓名和地址,如果我想继续深入核实这些信息,我可以去加州的记录搜索,查看他们的公司章程,如果我想了解更多关于富国银行的信息,比如他们的官方地址或如何正式联系他们:https://businesssearch.sos.ca.gov/Document/RetrievePDF?Id=02160471-4750627