用户输入数据的PHP编码标准

时间:2013-02-25 16:08:31

标签: php

最近我们在用户输入的数据方面面临很多问题

  1. 他们使用不同的语言
  2. 输入“'
  3. 等特殊字符

    在遇到一个问题之后,如何处理所有这些......我们正面临另一个问题。

    或者,是否有可用的编码标准或高级教程?

    由于

2 个答案:

答案 0 :(得分:1)

如果您要从数据中选择这些字符,您可能需要考虑正则表达式。查看文档here

答案 1 :(得分:1)

在处理用户提供的输入时,通常应该尝试“转义”所有特殊字符。

如果您发现某些字符对您的系统造成了严重破坏,那么您可以将其删除:

<?php

$BadChars = array(
"'",    // Single quote - can harm SQL queries
"%",    // Percent sign - can harm SQL queries
"<",    // Less Than - can be used for XSS
">",    // Greater Then - can be used for XSS
";",    // Semicolon - can harm SQL queries
"£" 
);    

// $Input = $_GET['Name'];

$Input = "HELLO'%<;TEST";

foreach ( $BadChars as $Char )
{
    $Input = str_replace($Char, "", $Input);
}

print "Filtered Input: $Input";

?>

您还可以使用http://php.net/manual/en/function.mysql-real-escape-string.php

等现有功能在数据进入数据库之前对其进行转义