2

我一直在浏览一些帖子,以了解防止各种形式的“注入”攻击的方法。

用 PHP 清理用户输入的最佳方法是什么?是一篇很棒的帖子,对数据库非常有帮助,但是我想做的一件事是防止我的邮件服务器被“注册”的人使用,并使用一串逗号分隔的电子邮件地址向人们发送垃圾邮件。这是一个似乎没有经常解决的话题。

是的,验证码(或等效)已经到位,这更适合那些将一长串逗号分隔值剪切并粘贴到电子邮件字段中的讨厌用户。

我希望爆炸然后只取数组中的零元素是抛弃其余元素的最佳方法,但是如果有人有其他想法或方法,那么很高兴阅读它们。

$emails_passed = explode(",", $_POST['email_field']); // could also use $_GET
$email_to = $emails_passed[0];
4

1 回答 1

3

是的,你可以,但这样做并不明智。简单检查是否给出了有效的电子邮件,请参阅php 验证,一些基本电子邮件验证的第一个示例。有效的电子邮件不包含逗号。

所以如果它有一个逗号它是无效的,所以你应该告诉用户,请给一个有效的电子邮件。认为以比使用爆炸更好的方式解决问题

仅当您允许像 Gumbo 在评论中指出规范允许在电子邮件中使用逗号的单个电子邮件 (foo@bar.com) 时,上述故事才有效。

因为您的问题是要阻止人们发送多封电子邮件,所以您“向他们发送垃圾邮件”。我仍然建议验证电子邮件并检查。

希望额外的信息,感谢秋葵帮助

于 2013-07-06T11:24:38.287 回答