php Форма для отправки по электронной почте - PullRequest
0 голосов
/ 30 апреля 2010

Я использовал следующую команду для отправки формы для связи с нами, iv посмотрел на безопасность и обнаружил, что вам нужно защитить бит From: функции mail, поскольку я жестко закодировал это, что означает, что скрипт является spamproof / un- hijackable

$tenantname = $_POST['tenan']; 
$tenancyaddress = $_POST['tenancy'];
$alternativename = $_POST['alternativ'];
//and a few more
//then striptags on each variable

$to = "hardcoded@email.com";
$subject = "hardcoded subject here";
$message = "$tenantname etc rest of posted data";
$from = "noreply@email.com";
$headers = "From: $from";

mail($to,$subject,$message,$headers);

Ответы [ 3 ]

2 голосов
/ 30 апреля 2010

Unhijackable? Да.

Spamproof? Я бы не назвал это так, поскольку форму все еще можно использовать для рассылки цели формы.

0 голосов
/ 30 апреля 2010

Есть несколько соображений $headers никогда не должен контролироваться атакующим. Если они могут контролировать эту переменную, они могут ввести crlf \r\n и превратить этот форум в открытый спам-шлюз. PHP-Nuke была уязвима к этому некоторое время назад.

Второе соображение - ограничение скорости. Глупый бот собирается на этот форум несколько тысяч раз. Они могут даже не спамить, а просто сканировать ваш сайт на предмет SQL-инъекций, чтобы взломать. Вы должны использовать reCapthca, чтобы боты не могли отправлять этот форум.

0 голосов
/ 30 апреля 2010

Если вы используете данные формы для создания $from (не совсем уверен в своем коде), $from можно использовать для добавления дополнительных заголовков (BCC / CC), что-то вроде SQL-инъекции.

Обновление : Теперь, когда код стал более читабельным, я понимаю, что это не должно быть проблемой для вас.

...