假设我在此位置的页面上有一个表单...
http://mydomain.com/myform.htm
表格看起来像这样......
<form method="post" action="https://secure.otherdomain.com/handleform.php">
....
</form>
假设在接收此表单提交的服务器上安装了有效的SSL证书,该表单提交的内容是否会被加密?
答案 0 :(得分:6)
POST请求将通过HTTPS传输(如果配置正确,则加密)。将通过纯HTTP获取的页面中的表单提交到HTTPS页面是不好的做法。初始页面也应该通过HTTPS提供。原因是MITM攻击者可以拦截使用表单加载页面的响应,并替换链接以指向另一个目标。
请参阅此处的第一条规则(当然,不是特定于登录页面):
规则 - 对所有登录页面和所有经过身份验证的页面使用TLS
登录页面和所有后续经过身份验证的页面必须是 通过TLS专门访问。初始登录页面,简称 “登录登录页面”必须通过TLS提供。没有利用 登录登录页面的TLS允许攻击者修改登录 表单操作,导致用户的凭据被发布到 任意位置。未能将TLS用于经过身份验证的页面 登录后,攻击者可以查看未加密的会话ID 并妥协用户的身份验证会话。
答案 1 :(得分:3)
假设可以在服务器和客户端之间协商有效的SSL / TLS会话,那么是。这意味着客户端必须愿意信任服务器提供的任何证书,并且双方可以协商相互同意的密码集(使用什么算法等)。您可以设置许多配置选项来更改允许的内容,但是在“正常”实现中,您不需要处理需要特定的,非正常的算法,需要客户端证书身份验证等,一切都应该工作得很好,你会有一个受保护的会话...如果它由于某种原因失败,你会知道你的客户会收到错误的错误。
请注意,一般情况下,虽然您可以执行此操作,并且传输将被加密,但您通常不应该这样做。将未加密/受保护的页面提交给一个页面会使您容易受到几种类型的中间人攻击。你可以看到关于这个的OWASP文章,以及它为什么不好,here。
答案 2 :(得分:0)
是。它将被安全地传输。