sanitasyon Email php Formu

3 Cevap php

im bize formunu yazın bir kişiyi göndermek için aşağıdaki kullanarak, iv güvenlik içine baktı ve sadece itibaren korumak gerekir bulundu: ive bu o komut un-hijackable / spamproof anlamına gelmez kodlanmış olarak, posta işlevinin bit

$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 Cevap

Unhijackable? Evet.

Spamproof? Form hala formun hedef spam kullanılabilir gibi, bu kadar tarif değildir.

$headers bir saldırgan tarafından kontrol asla gereken birkaç husus vardır. Bu değişkeni kontrol edebilirsiniz sonra onlar bir crlf enjekte \r\n ve açık bir istenmeyen ağ geçidi haline Bu forumu açabilirsiniz. PHP-Nuke Bir süre önce bu savunmasız oldu.

2 göz sınırlayıcı oranıdır. Bir dilsiz bot birkaç bin kez bu için bu forumu gidiyor. Onlar bile spam olmayabilir, ama sadece bu forumu göndererek botlar önlemek için reCapthca kullanmalısınız içeri girmeye SQL enjeksiyon için sitenizi tarıyor.

Size (sizin kod oldukça emin değilim) $from oluşturmak için form verilerini kullanıyorsanız, $from tür SQL enjeksiyonu gibi ek başlıkları (BCC / CC) eklemek için kullanılır olabilir .

Update: Şimdi biraz daha okunabilir kod ile, ben bu sizin için bir sorun olmamalı biliyoruz.