2012-10-10 68 views
0

可能重复:
Best way to prevent SQL injection in PHP?PHP MySQL的注入保护

,我有以下功能使用我从另一个页面传递变量时调用。我的问题是,我可以添加urlencode信息,并有一个单一的功能,或者是最好有独立的变量函数,我通过地址栏与隐藏的表单字段传递信息?

我没有使用PDO,并且在可能的情况下进行了类型转换。

function checkInput($value) { 
// Stripslashes 
if (get_magic_quotes_gpc()) 

// Stripslashes 
if (get_magic_quotes_gpc()) 
{ 
$value = stripslashes($value); 
} 

// Quote if not a number 
{ 
$value = "'" . mysql_real_escape_string($value) . "'"; 
} 
return $value; 
} 

谢谢您的协助!

+1

这已经被问过:http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php 希望这有助于:) –

回答

1

Mysqli也支持预处理语句。如果mysqli不可用,那么总是有像PEAR DB这样的系统提供准备好的语句。

+0

是啊,有没有不要使用准备好的语句。经典的'mysql_ *'函数应该被视为弃用。他们是老技术,有更好的现代同行。 –

+1

有时,人们没有选择他们工作的技术堆栈。 Mysqli可能没有启用,在这种情况下,唯一的选择是mysql_ *。 :) –