php - 保护 php 电子邮件表单

标签 php html email

我想知道我所做的是否会停止对我的电子邮件表单进行注入(inject)。

<?php 
if(isset($_POST['submit'])){
    $to = "ask@mywebsite.co.uk"; 
    $from = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); 
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $subject = "Form submission";
    $subject2 = "Copy of your form submission";
    $message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

    $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to,$subject,$message,$headers);
    mail($from,$subject2,$message2,$headers2); 
    echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";

}
?>

最佳答案

headers 是唯一的注入(inject)点,你只有一个变量来处理 $from,你可以使用 filter_var

关于php - 保护 php 电子邮件表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34733380/

相关文章:

php - Jquery 可排序列表不会序列化,为什么?

c++ - 具有 SSL 连接的 SMTP 客户端

javascript - 最轻的 js/css 向用户提供 SPA 正在加载/初始化的视觉反馈

PHP 邮件 header 不起作用?

java - JSP: session 无法解析为类型

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 在 PI 中从浏览器执行 GPIO python

javascript - 数据表服务器端呈现太多页面以进行分页

javascript - 使用 jquery 中的表单将值插入到表中

java - HttpPost表单提交错误