通过拒绝英文字符来防止SQL注入?

时间:2013-08-28 17:06:02

标签: php mysql code-injection detect

我尝试在网站上创建评论会话,其中用户将是非英语用户,结果他们的评论将以他们的母语进行。 如果我使用下面的代码([PHP Detect if non-english]),这意味着我会阻止SQL注入?

$string = $_POST['comment'];
if(strlen($string) != mb_strlen($string, 'utf-8'))
{ 
    echo "proceed";
    require_once('db_file.php');
}
else {
    echo "English Detected.";
    exit();
}

我测试了它,如果我使用混合了中文/希腊语/波兰语的英文字符,事实证明它“退出”了代码。 有关于此的任何想法/意见?当然,我会把“mysqli_real_escape_string”,但我想知道英文检测是否为我提供了额外的安全性。 谢谢你的时间。

1 个答案:

答案 0 :(得分:3)

它是否提供额外的安全性?

正确的转义函数(在这种情况下为mysql_real_escpae_string)正是您所需要的,仅此而已。