0

我使用以下内容发送联系我们类型的表格,iv 调查了安全性,只发现您需要保护邮件功能的 From: 位,因为我硬编码这意味着脚本是防垃圾邮件/不可劫持的

$tenantname = $_POST['tenan']; 
$tenancyaddress = $_POST['tenancy'];
$alternativename = $_POST['alternativ'];
//and a few more
//then striptags on each variable

$to = "hardcoded@email.com";
$subject = "hardcoded subject here";
$message = "$tenantname etc rest of posted data";
$from = "noreply@email.com";
$headers = "From: $from";

mail($to,$subject,$message,$headers);
4

3 回答 3

2

无法劫持?是的。

防垃圾邮件?我不会这样描述它,因为该表单仍可用于向表单的目标发送垃圾邮件。

于 2010-04-30T12:33:19.033 回答
0

有一些注意事项 $headers绝不能被攻击者控制。如果他们可以控制这个变量,那么他们可以注入 crlf\r\n并将这个论坛变成一个开放的垃圾邮件网关。 PHP-Nuke很容易受到这个问题的影响。

第二个考虑是速率限制。一个愚蠢的机器人会去这个论坛几千次。他们甚至可能不会发送垃圾邮件,而只是扫描您的网站以进行 sql 注入以闯入。您应该使用 reCapthca 来防止机器人提交此论坛。

于 2010-04-30T17:22:27.767 回答
0

如果您使用表单数据创建$from(从您的代码中不太确定),$from可用于添加额外的标题(BCC/CC),有点像 SQL 注入。

更新:现在代码更具可读性,我意识到这对您来说应该不是问题。

于 2010-04-30T13:08:46.327 回答