чистка заголовка почты php для контактной формы - PullRequest
1 голос
/ 07 января 2012

Я придумал следующий скрипт для очистки моих почтовых контактных форм php.Мне было интересно, если есть что-то еще, что я рекомендую, я должен поставить здесь.Это всего лишь фрагмент кода, так как я также предварительно сопоставляю каждое поле, чтобы разрешить только разрешенные символы, но что касается очистки инъекций с самого начала - какие-либо рекомендации по изменениям?

Я понимаю, что я не включил / r, / n,% 0a и% 0d, но когда я это делаю, это создает проблему с формой, которую я отправляю самому себе, и включает комментарии «error» и «invalid» в те поля, в которых есть ошибки, включая оригинал, чтобы они моглибыть исправленным, плюс я хочу разрешить ввод и новые строки в текстовой области комментариев в любом случае.

// remove any possible inections
foreach($values as $key => $input){
    $values[$key] = cleaninjections($input);
}

// perform on each field of the form
function cleaninjections($test)
{
 // Remove injected headers
 $find = array("/bcc\:/i", 
               "/content\-type\:/i", 
               "/mime\-version\:/i", 
               "/cc\:/i", 
               "/from\:/i",
               "/to\:/i",
               "/content\-transfer\-encoding\:/i");
$ret = preg_replace($find, "", stripslashes($test));
return $ret;
}
...