Чистка заголовка почты php для контактной формы
Я придумал следующий скрипт для очистки моих почтовых контактных форм 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;
}