Drupal SQL注入攻击预防和表单中的撇号处理

jin*_*ini 4 drupal drupal-6 drupal-fapi

在典型的PHP应用程序中,我曾经在使用SQL插入之前使用mysql_real_escape_string.但是我无法在Drupal中这样做,所以需要一些帮助.没有任何类似的功能,用撇号的用户输入会破坏我的代码.

请建议.

谢谢

我的SQL如下:

$ sql ="INSERT INTO some_table(field1,field2)VALUES('$ field1','$ field2')";

db_query($的SQL);

Kev*_*vin 5

用{}包裹你的桌子.

另外,使用适当的占位符语法进行插入,例如%d表示数字,%s表示字符串.

这是功能API页面:

http://api.drupal.org/api/function/db_query/6

请注意,它有参数.

例:

db_query('INSERT INTO {tablename} (field1, field2) VALUES ("%s", "%s")', $field1, $field2);
Run Code Online (Sandbox Code Playgroud)