Wordpress插件 - 在邮件之前使用esc_attr - 安全吗?

时间:2014-02-02 11:15:43

标签: php wordpress email

我创建了一个wordpress插件,我想在其中发送一封电子邮件到已插入表单的地址。我这样用它:

$to_email = esc_attr($_POST['to_email']);
mail($to_email, ...

这对于垃圾邮件等是否安全?或者我是否必须使用另一个wordpress函数(esc_attr除外)来通过此表单禁用可能的威胁?

http://codex.wordpress.org/Function_Reference/esc_attr

谢谢!

2 个答案:

答案 0 :(得分:1)

用wp_mail替换邮件 http://codex.wordpress.org/Function_Reference/wp_mail

您需要检查电子邮件地址是否已设置以及有效地址。如果它通过了两个测试,则将其设置为POST值。如果没有,则将值设置为false,不要继续尝试发送电子邮件。

$to_email = ( isset( $_POST['to_email'] ) && is_email( $_POST['to_email'] ) ) ? $_POST['to_email'] : false;

答案 1 :(得分:1)

正如另一个答案所示,您应该使用wp_mail()而不是mail()。

我认为您可能想使用sanitize_email而不是esc_attr。您可以使用is_email查看是否是电子邮件(即包含“@”等)。