在复选框,单选按钮或下拉菜单上执行mysql_real_escape_string?

use*_*637 1 php mysql mysql-real-escape-string

有没有人可以为复选框,单选按钮或下拉菜单(例如国家,出生年份)进行SQL注入?

另外,假设有人将他们的猫的名字输入文本字段,在将它们插入mysql表之前运行以下代码行是否足够?

$catsName = preg_replace('/[^a-z]/i', '', $_POST['yourCat']);
Run Code Online (Sandbox Code Playgroud)

或者我还需要这个吗?

$catsName = mysql_real_escape_string($_POST['yourCat']);
Run Code Online (Sandbox Code Playgroud)

Bal*_*ash 6

单选按钮,复选框等在HTML代码中有一个值选项,可以使用firebug轻松更改(还有许多其他类似的工具).因此,如果您清理用户提供的所有输入,它会更好.

至于第二个问题,mysql_real_escape_string就够了.不需要这样做preg_replace

  • 真的,我认为你应该养成逃避所有数据库输入的习惯.不要争论是否有必要.然后,当您看不到逃逸时,它就变成了"代码味道". (3认同)