gpt4 book ai didi

php - php 中的安全和 mail() 函数

转载 作者:可可西里 更新时间:2023-11-01 13:18:33 26 4
gpt4 key购买 nike

我正在使用 mail() 发送简单的邮件。为方便起见,我使用标题来设置“发件人”地址。我想知道,我可以把任何地址放在那里并假装是任何人;我只是出于好奇而尝试自己,实际上它有效!这是正常的吗?邮件功能的正确使用方法是?有什么方法可以识别这些邮件发件人的身份吗?

编辑:我使用我的 gmail 地址作为 mail() 标题中的“发件人”向自己发送了一封邮件。我收到了带有这些 header 的消息:



Received: from smarty.dreamhost.com (smarty.dreamhost.com [208.113.175.8]) by mx.google.com with ESMTP id w21si2197938ybh.68.2010.10.19.19.33.30; Tue, 19 Oct 2010 19:33:30 -0700 (PDT)

Received: from nationals.dreamhost.com (nationals.dreamhost.com [69.163.165.6]) by smarty.dreamhost.com (Postfix) with ESMTP id EB56D6E804A for <myMail@gmail.com>; Tue, 19 Oct 2010 19:33:29 -0700 (PDT)

Received: by nationals.dreamhost.com (Postfix, from userid 3598506) id E4BB635C83F; Tue, 19 Oct 2010 19:33:29 -0700 (PDT)

Return-Path: <mySite@nationals.dreamhost.com>

Received-Spf: pass (google.com: domain of mySite@nationals.dreamhost.com designates 208.113.175.8 as permitted sender) client-ip=208.113.175.8;

Authentication-Results: mx.google.com; spf=pass (google.com: domain of mySite@nationals.dreamhost.com designates 208.113.175.8 as permitted sender) smtp.mail=mySite@nationals.dreamhost.com



发生了什么?我无法解释 header ,但看起来谷歌接受了假地址!

最佳答案

欢迎使用 SMTP。

一直以来,您都可以将任何发件人地址放在您选择的电子邮件上,就像您可以将任何回信地址放在您选择的实际信件上一样。

为了扩展这个比喻,验证一封信是由给定的人寄出的唯一方法是查看其他细节,例如邮戳;同样,关于谁发送电子邮件的唯一真正线索是邮件服务器在识别哪台服务器最后接触邮件的过程中添加的额外 header 。

故事的寓意:永远不要相信发件人地址;安全从来都不是电子邮件系统的预期功能。正如 Vint Cerf 最近谈到我们现有的 Internet 协议(protocol)时所说:“我们从未打算让这些东西泄露出去。”

关于php - php 中的安全和 mail() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974270/

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