我想在GitHub上设置一个项目页面,以便它充当实时网站。
该网站需要API sid&令牌(两者都只是长文本串),在自托管环境中,用户只需添加到配置文件中。
如果我通过GitHub项目页面托管它,用户将通过表单提供他们的sid /令牌。带有表单的页面需要通过SSL提供,以便sid / token不会以明文形式传输。问题是GitHub项目页面不允许使用SSL。
所以,如果我能找到另一种安全的方式来通过除了使用SSL之外的表单来获取输入,那么我可以通过GitHub项目页面托管整个托管服务。
该项目将是开源的,因此我不希望任何类型的编码/散列方案可以使用,因为这些方法是公开的。
sid / token用于对通过SSL发送 的API的curl调用。也许有一种方法可以直接将表单输入引导到SSL URL,而不是让它通过非SSL GitHub项目页面......
有什么想法吗?
答案 0 :(得分:2)
如果可能的话,您可以只提供表单的action
属性目标脚本的HTTPS URL。
您还可以使用某种使用Javascript的Challenge-Response加密/散列方案。该算法将是这样的:
<强>无论其强>
具有修改流量能力(例如通过ARP poisening,DHCP或DNS欺骗)的中间人攻击者可以始终从提供的HTML中剥离所有客户端保护机制。请查看SSLStrip有关重写HTTPS URL以便动态取消保护HTTP URL的工具。挑战 - 反应可能会被打败:
你知道,一个拦截攻击者可能会击败你试图弥补的任何防御机制。