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