是否建议在php中使用一个结合了两个或多个内置清理函数的santing函数


Is it recommended to have a santizing function that combines two or more built in sanitizing functions in php?

是否可以使用一个函数来清除由于表单提交或任何其他请求而传入的输入。这节省了时间,但有效性和效率的问题仍然困扰着我

   function clearSpecialChars($str)
   {
     $str=htmlentities($str);
     $str=strip_tags($str);
     $str=mysql_real_escape_string($str);
     return $str;
   } 

所以当我收到表格提交时,我会:

    $username=clearSpecialChars($_REQUEST['username']);
    $email=clearSpecialChars($_REQUEST['email']);

从根本上讲,我不希望用户输入任何html。

每个函数都有自己的用途,不应该使用任何非预期用途的函数。

  1. 在使用mysql查询中的参数之前,应该先使用mysql_realescapestring
  2. 在输出到页面之前,应该使用htmlspecialchar

仅此而已。

是的,您可以创建一个简单的函数来在使用值之前对其进行净化

function sanitize($value)
{
    return htmlentities(addslashes($value));
}

哪个转义符'和"并转换html实体中所有适用的字符。我的选项与其他选项相比更复杂,但您可以从它开始。