php邮件标题注入清理联系表单

时间:2012-01-06 21:53:13

标签: php contact-form spam-prevention header-injection

我想出了以下脚本来清理我的php邮件联系表单。想知道是否还有其他建议我应该放在这里。这只是代码的一小部分,因为我还将每个字段预先设置为仅允许允许使用的字符,但是对于get get的清理注入 - 任何有关更改的建议?

我意识到我没有包含/ r,/ n,%0a和%0d,但是当我这样做时,它会在我发布到自身时创建表单问题并包含“错误”和“无效”注释那些有错误的字段,包括原文,因此可以更正,另外我想在表格的评论“文本区域”中允许输入和换行。

// 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;
}

0 个答案:

没有答案