gpt4 book ai didi

php - 将信息从 Web 表单安全地发送到电子邮件地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:44 26 4
gpt4 key购买 nike

是否可以让用户在 HTTPS 安全站点上的表单中输入信息,然后使用 PHP 将该信息安全地发送到电子邮件地址?您如何加密电子邮件以确保从 HTTPS 站点发送电子邮件和通过 HTTPS 电子邮件检查电子邮件之间的安全性?这有多可行?潜在的陷阱是什么?

最佳答案

您可以使用 PGP 加密电子邮件或 S/MIME .这些将需要您的客户端的特殊支持才能解密。大多数网络邮件提供商没有这个(尽管可能有例如 Firefox 扩展来使其工作)。

除了像 PGP 或 S/MIME 这样的端到端加密之外,它确实是行不通的,因为电子邮件的明文遗留问题:

  • 可以使用 TLS(使用 SMTL STARTTLS 扩展名)在 MTA 之间传输电子邮件。但是,无法将消息标记为需要它。您可以将您的 MTA 配置为需要 STARTTLS,而不是其他任何人的。 (请注意,除非您拥有 root 用户,否则您甚至无法配置 MTA。)MTA 的默认和正常配置将愉快地接受通过 TLS 的消息,并将其转发为纯文本。
  • 在需要时添加中继是正常的。在实践中,它们很常见。因此,您的消息在最终交付之前可能需要几个跃点。您可以为第一跳强制使用 TLS,但不能为其他跃点强制使用 TLS。您可以检查 Received: header 以查看消息经过了多少跃点,但这可能会随时发生变化(并且由于操作原因,它可能会因消息而异)。
  • 一般来说,邮件在传输过程中会写入磁盘。正常的 MTA 流程是接受消息、写入磁盘、确认接收、将消息发送到下一个 MTA、等待确认、从磁盘删除。您当然可以配置您的 MTA 以将这些加密存储在磁盘上,但通常不会这样做。
  • 一旦“投递”,邮件通常以明文形式存储在磁盘上。您的网络邮件提供商可能会这样做。
  • 如果您曾经使用非网络邮件客户端访问电子邮件,它很可能会将邮件以纯文本形式下载到磁盘。然后你有未加密的消息坐在随机的台式电脑上。 MUA 甚至可以通过 Internet 以纯文本形式传输消息。
  • 电子邮件可在任何地方、任何机器上轻松访问。特别是网络邮件。对于您或您公司的其他人来说,登录到从随机设备发送消息的帐户将是非常诱人的。你能保证这些设备都没有安装了任何恶意软件——键盘记录器、 session 劫持器、屏幕抓取器等吗?您能保证没有用户永远会忽略证书警告,从而引发中间人攻击吗?

除了一些最大的网络邮件提供商外,他们可能没有足够的安全性来保护 secret 身份数据。例如,如果您调用他们说您忘记了密码,他们会如何处理?或者,如果有人其他调用他们并假装是您。

最后,即使使用 PGP 或 S/MIME,您仍然会遇到电子邮件在现实世界中可能并且确实会丢失的问题。您的站点可能会发送一条消息,并确认该消息已被接受发送,然后该消息永远不会到达 - 甚至不会到达垃圾邮件文件夹。对于有值(value)的数据,这通常是 Not Acceptable 。

注意:如果您使用 PGP 或 S/MIME 加密邮件,使用合理的设置(例如,3072-bit or higher RSA key 对,AES 密码),那么电子邮件信息(密文)是否泄露都没有关系;没有私钥是不可读的。使用的加密与 TLS 非常相似(但不幸的是,它不提供完美的前向安全性作为离线协议(protocol))。端到端加密可防止端点之间的不安全性。并不是说我提倡在报纸上打印密文,但即使那样也应该是安全的。当然,您必须确保保存私钥(并解密电子邮件)的机器安全。

关于php - 将信息从 Web 表单安全地发送到电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com