Безопасна ли моя PHP-форма?

У меня есть форма и этот бит кода для ее отправки:

if($feedback != $errorMessage){
$emailTo = '[email protected]';
$emailFrom = '[email protected]';
$subject = 'Submission';
$body = filter_var("$contactName made a submission.

    Contact Information:
    Contact Name:\t$contactName
    blah:\t$blah
    Address:\t$address
    Telephone:\t$telephone
    Mobile:\t$mobile
    E-mail Address:\t$userEmail
    Website:\t$website

    Vacancy Information:
    field1:\t$field1
    field2 Benefits:\t$field2
    field3:\t$field3
    field4:\t$field4
    field5:\t$field5
    field6:\t$field6
    field7:\t$field7
    field8:\t$field8
    field9:\t$field9", FILTER_SANITIZE_STRING);
mail($emailTo, $subject, $body, "From: ".$emailFrom);
}

Из того, что я понял из чтения других тем, этого должно быть достаточно. Я попытался отправить по электронной почте только одну точку в строке в одной из текстовых областей, и она превратилась в две точки. Однако запуск одной функции кажется слишком простым.

Это достаточно безопасно? Я читал в Интернете вещи, которые кажутся непоследовательными, вроде того, что мне даже не нужно дезинфицировать тело. Тело электронной почты — это единственное, что здесь принимает пользовательский ввод.

Спасибо.


person user3554185    schedule 20.04.2014    source источник
comment
необработанное объединение строк, отправленных по электронной почте -> небезопасно по своей сути.   -  person The Paramagnetic Croissant    schedule 20.04.2014
comment
Почему бы не удалить mail() и вместо этого использовать PHPMailer или SwiftMailer?   -  person Amal Murali    schedule 20.04.2014


Ответы (1)


Не совсем уверен, что вы подразумеваете под безопасностью здесь. Ваш скрипт просто отправляет электронное письмо. Содержимое полей будет тем, что заполнил пользователь. Это может быть ссылка на вирус, дерьмо, спам или реальный контент. Не легко сказать, правда. С этим тоже особо нечего делать.

Очистка гораздо важнее, когда базы данных используются.

person OptimusCrime    schedule 20.04.2014
comment
Я думаю, что ОП спрашивает, достаточно ли хороша их проверка filter_var для предотвращения любых атак. - person Amal Murali; 20.04.2014
comment
@AmalMurali - Какие атаки? Что вы действительно можете сделать в теле письма? - person OptimusCrime; 20.04.2014