2016-11-27 181 views
0

我在我的网站上有一个名称,地址,银行账户,iban的表格。如何安全地将敏感数据从浏览器发送到服务器?

当用户点击提交按钮时,数据通过PHP发送到我的服务器并存储在我的MySQL数据库中。

如何防止某人在从浏览器发送到我的服务器时抓取数据?

SSL证书是否正确?如果是这样,SSL证书是否足够?

我发现这个网站:www.selfsignedcertificate.com。您可以免费创建一个证书。付费和免费SSL证书有什么区别?

回答

-1
<form name='form1' method="post" action="nextpage.php"> 
    <input type="text" name="t1" value="firstname"> 
    <input type="text" name="t2" value="secondname"> 
    <input type="submit" name="submit1"> 
</form> 
nextpage.php 
<?php 
    echo $_POST['t1']; 
    echo $_POST['t2']; 
?> 
2

如何防止有人抓起数据,而他们得到来自 浏览器发送到我的服务器?

SSL可以很好地防止MITM(中间人)攻击。

SSL证书是否正确?如果SSL证书足够了吗?

SSL证书是提供一层安全性的正确方法。但这还不够。 SQL注入攻击仍然是可能的。 (许多其他攻击也)

我发现这个网站:www.selfsignedcertificate.com。您可以免费创建一个证书。付费和免费SSL证书有什么区别?

SSL证书由签名机构生成。因此,这些签署机构向您收取费用,以确认您确实拥有您声称的域名。当你自己成为签字机构时,证书就变得免费了(因为你不用自己来证实你是你的:P)。而且,“免费”SSL证书将在所有浏览器上显示红色条,因为浏览器不信任签名机构,那就是你。更多关于这里:https://www.globalsign.com/en/ssl-information-center/what-is-an-ssl-certificate/

0

我几分钟前刚回答了一个非常similar question

SSL是标准。它提供了:

  • 保密:数据在客户端和服务器之间的加密,并且不能被攻击者读取。通常使用RSA algorithm

  • 完整性:攻击者不能篡改客户端和服务器之间发送的消息。使用 HMAC

  • 认证通常实施:浏览器能够检查其正在与服务器实际上你的,而不是攻击。基本上, 服务器向浏览器显示由颁发SSL证书(例如VeriSign)的证书 签署的证书,证明 证明其身份。

所有这一切都假定SSL正确配置在服务器端: 了最新的加密算法,对过时的不支持,适当的密钥长度 (2048位或更高)等

您可以使用SSL Labs来检查您的SSL配置是否看起来 安全。此外,请务必强制您的用户使用SSL,例如 通过自动将http://的URL改为http s:// ones。

0

SSL证书是防止某人抓取浏览器和服务器之间传输数据的最佳选择。但自签名证书不是一种解决方案,因为它不会被大多数Web浏览器信任,因为它没有颁发可信证书颁发机构。为了克服这个问题,我建议你获得可信CA颁发的SSL。你将不得不支付几美元,但它是值得投资的。自签名证书的缺点是,浏览器不会认为它有效,并会向用户发送警告消息。它不会在用户的心中留下很深的印象。

根据CAB论坛的指导原则,由CA颁发的证书应该具有最低256位加密,但在自签证书的情况下您不会拥有如此高的加密。付费SSL将是一个不错的选择,而不是选择自签名证书。您可以阅读此SSL FAQs以解决有关SSL证书的更多疑问。

相关问题