最近我们面临很多用户输入数据的问题
像
- 他们使用不同的语言
- 输入特殊字符,如“'
如何处理所有这些,在一个问题之后..我们面临另一个问题。
或者,是否有任何编码标准或高级教程可用?
谢谢
最近我们面临很多用户输入数据的问题
像
如何处理所有这些,在一个问题之后..我们面临另一个问题。
或者,是否有任何编码标准或高级教程可用?
谢谢
如果您希望从数据中挑选出这些字符,您可能需要考虑正则表达式。在此处查看文档。
在处理用户提供的输入时,您通常应该尝试“转义”所有特殊字符。
如果您发现某些字符对您的系统造成严重破坏,那么您可以像这样删除它们:
<?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