У меня есть страница на моем сайте, где пользователи могут отправлять мне сообщение, указав их адрес электронной почты, имя и сообщение. На переднем конце (JS) я делаю некоторые основные проверки, убедитесь, что письмо отформатировано как электронное письмо, убедитесь, что другие поля не пустые, а затем отправлю его на PHP с помощью GET.Безопасная отправка электронной почты с PHP
Теперь я знаю, что люди могут делать довольно хитрые вещи, вводя вредоносный код в PHP. Какие меры предосторожности я должен принимать? Когда я работал с MySQL, я бы сбежал от него с помощью функции escape-функции mysqli. Что я должен здесь делать?
Вот мой сценарий прямо сейчас:
<?php
if(!isset($_GET["message"]) || !isset($_GET["name"]) || !isset($_GET["email"])){
echo "Check all the fields are correctly filled in and try again!";
die();
}
$email = $_GET["email"];
$message = $_GET["message"];
$name = $_GET["name"];
if($email == ""|| $message == "" || $name == ""){
echo "Check all the fields are correctly filled in and try again!";
die();
}
$message = wordwrap($message, 70);
mail("[email protected]","A Message From " . $name,$message,"From: $email\n");
echo "success";
?>
Используйте [PHPMailer] (https://github.com/PHPMailer/PHPMailer), он обрабатывает это для вас. В качестве бонуса PHPMailer на самом деле дает вам ошибки, если что-то не удается, «mail()» просто возвращает true/false, и вы остаетесь невежественными. И для MySQL вы должны использовать PDO или Mysqli и связывать параметры с помощью подготовленных/параметризованных запросов, а не «реальной функции эвакуации» – JimL
Сначала используйте POST, если вы не «имеете» использовать GET, поскольку GET можно изменить в URL-адресе , Затем найдите форму XSS. –