-6

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

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

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

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

谢谢

4

2 回答 2

1

如果您希望从数据中挑选出这些字符,您可能需要考虑正则表达式。在此处查看文档。

于 2013-02-25T16:11:53.213 回答
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

于 2013-02-25T16:18:26.740 回答