我对这样一个问题很感兴趣,这样一段代码有多危险?
...
$email = $_POST["email"];
$success = mail("email@e.com", "title", "message", "From:".$email);
...
一切都清楚了 SQL 注入,以及注入include
PS问题不是关于如何检查电子邮件的有效性,而是关于在这种情况下是否有可能利用缺乏验证来损害
我对这样一个问题很感兴趣,这样一段代码有多危险?
...
$email = $_POST["email"];
$success = mail("email@e.com", "title", "message", "From:".$email);
...
一切都清楚了 SQL 注入,以及注入include
PS问题不是关于如何检查电子邮件的有效性,而是关于在这种情况下是否有可能利用缺乏验证来损害
如前所述,他们能做的最危险的事情就是垃圾邮件。或者,垃圾邮件机器人。
当然,您应该使用最简单的正则表达式进行检查,该正则表达式只是检查域中是否存在狗和点:
这在 99% 的情况下就足够了。并加强禁令,例如,一个IP每分钟不超过3封信。在这样的接受中。
另一方面,字段类型
<input type="email">
将为您完成大部分工作。在这种情况下,只有那些在检查器中打开 HTML 并更改带有句柄的字段类型的人才值得担心,所以我仍然会在背面进行检查。