A-A+
在PHP网页中防范SQL注入的方法
PHP 程序注入相对 ASP 程序注入的难度要大些,同样,在PHP程序中防范SQL注入也就相对容易一些。使用PHP程序建立的网站,在源程序中有一个配置文件“php.ini”,在此文件中可以对PHP进行安全设置。
为了安全起见,可以打开“php.ini”文件的安全模式,设置“safe_mode=On”;显示 PHP 执行错误信息的 “display_erros”选项如果打开的话,将会返回很多可利用的信息给入侵者,因此要将其设置为“display_erros=off”;这样,PHP 函数执行错误后的信息将不会在客户端的浏览器中进行显示。
此外,在文件还有一个很重要的配置选项,如果将其中的“magic_quotes_gpc”项设置为“On”,PHP 程序会自动将用户提交的变量是含有的“'”、“"”、“\”自动转为含有反斜线的转义字符。这个选项类似 ASP 程序中的参数过滤,可以对大部分字符型注入攻击起到防范的作用。
另外,也可以参考 ASP 程序防 SQL 注入的方式,使用 PHP 程序中的函数对用户提交参数进行过滤,在 PHP 中 str_replace()函数功能与 ASP 程序中的 replace 函数类似,只不过在格式上略不同而已。