最近我们在用户输入的数据方面面临很多问题
像
在遇到一个问题之后,如何处理所有这些......我们正面临另一个问题。
或者,是否有可用的编码标准或高级教程?
由于
答案 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
等现有功能在数据进入数据库之前对其进行转义