我是HTTPS技术的初学者:(。我对HTTPS实施有一些疑问。
假设我有一份注册表格
http://www.sitename.com/register.php
如果我想在HTTPS中使用它,这将成为
https://www.sitename.com/register.php
这意味着什么?如何从头开始实施HTTPS? 我如何获得证书?
提前致谢!!
答案 0 :(得分:9)
HTTPS代表HTTP Secure。它通过安全连接提供HTTP来实现。 请查看维基百科上的HTTP Secure以获得更深入的解释。
设置HTTPS不仅仅是更改URL。您必须向您的网站添加SSL证书才能执行此操作。可以从证书颁发机构(List of CAs)获取这些证书,也可以使用自签名证书。
说到您对HTTPS实施的怀疑。这是一个完善的协议,已经由安全专家与博士一起讨论这个问题。所以你可以相信HTTPS的实现。
Flat Mountain有一篇关于设置SSL Certificates on Apache*
的文章* 假设你通过apache服务器运行你的php
答案 1 :(得分:6)
其他人已经为您提供了有关HTTPS工作原理的良好链接。我将解决使用它的两个原因:
<强> 1。安全强>
使用HTTPS时,浏览器和Web服务器之间的流量会被加密。这可以防止任何碰巧有权访问您的数据在穿过Internet时通过查看您发送服务器的内容或服务器发送给您的内容的任何数据线的人。这就是HTTPS用于发送密码和其他登录凭据的原因。这是处理银行业务和其他需要隐私的事务的网站使用HTTPS的原因之一。这就是为什么你可能想要使用HTTPS,如果你从公共Wi-Fi连接阅读你的网络邮件。
<强> 2。身份强>
通过HTTPS连接时,Web服务器会为您提供证书。除了包含促进上述加密所需的公钥之外,证书还试图证明Web服务器的身份。这可以防止任何碰巧有权访问您的数据在穿过互联网时将遍历的任何电线,而不是将您的流量转移到他们的服务器,并伪装成您想要联系的网站。如果您与黑客建立了加密连接,那么全世界的所有加密都无济于事。
为此,证书由证书颁发机构“签名”。证书颁发机构旨在验证他们颁发证书的人是否是他们声称的人。也就是说,CA不会向除Bank of America之外的任何人颁发“bankofamerica.com”证书。您的浏览器附带一组预先安装的证书颁发机构,其信任的签名。如果服务器提供给您的证书未由其中一个受信任的CA签名,则浏览器将发出警告。
请注意,身份步骤失败不会妨碍安全步骤。如果HTTPS服务器为您提供的证书未经您的浏览器信任的CA签名,您仍然可以与服务器建立加密的安全连接 - 您无法确定谁是您实际运行的服务器和...说话。
答案 2 :(得分:3)
通过https协议提供服务意味着您正在提供加密数据,理论上它不能是sniffed,因为它不是以纯文本形式传输的。连接通常通过端口443而不是HTTP流量的典型端口80。
此外,SSL还提供了一个证书,可以通过第三方(例如VeriSign或其他人)对内容服务器进行身份验证。
对于专业网站,您可以buy a certificate在服务器上安装,或者在其他情况下使用self signed certificate可能更好,尽管这些通常会在常见浏览器中显示一个令人讨厌的错误(如果您只有可信/信任用户,则可能不是问题。)
答案 3 :(得分:3)
HTTPS涉及多个层,它们都可以确保您通过线路进行的HTTP通信是加密且安全的。它用于确保安全性的一种机制是向客户证明服务器实际上是他所说的那个人而不是假装成服务器的人。这是使用由大多数客户信任的证书颁发机构颁发的服务器证书来实现的。
因此,您需要一些表格来安全地使用HTTPS:
"www.sitename.com"
)对于您的register.php
页面,来自HTTPS或HTTP的客户端之间没有区别,您的处理方式也是一样的。但是,如果您希望强制用户使用HTTPS,则需要首先检查请求是否为纯HTTP,以及是否将用户重定向到使用HTTPS协议的同一页面。这样,没有人可以无意中使用不安全的地址。
答案 4 :(得分:2)
呼。嗯。你需要看ssl and secure http。可能setting up ssl on apache。
基本上,它是加密的http连接。问问自己为什么需要加密连接,这真的值得一试。
答案 5 :(得分:2)
如果你的网站是在apache上运行的,你需要设置ssl,然后确保你的vhost也设置为在443上监听。然后可以使用任一协议调用vhost中的任何页面。