网站要做足安全, 特别是对防SQL注入, 因为大多数程序员都会很粗心大意而导致网站被黑。
php脚本:
基本上php本身就带有类似功能的函数了, 比如mysql_real_escape_string, addslashes等.
大多数虚拟主机商比如耐思尼克(都会开启了magic_quotes_gpc这个选项, 那提交数据时, 会自动执行了addslashes这个函数, 这样就可以杜绝大多数的注入了
另外因为mysql是不分数字还是文本,都可以用''来括住, 所以建议在写sql的时候, 参数都用''来括起来
使用方法如下:
$query = mysql_real_escape_string("SELECT * FROM products WHERE name='$productname'");
asp脚本:
FUNCTION CHECKSTR(ISTR)
DIM ISTR_FORM,SQL_KILL,SQL_KILL_1,SQL_KILL_2,ISTR_KILL
IF ISTR="" THEN EX
IT FUNCTION
ISTR=LCase(ISTR)
ISTR_FORM=ISTR
SQL_KILL="' and exec insert
select delete update count * % chr mid master truncate char declare set ; from ="
SQL_KILL_1=SPLIT(SQL_KILL," ")
FOR EACH SQL_KILL_2 IN SQL_KILL_1
ISTR=REPLACE(ISTR,SQL_KILL_2,"")
NEXT
CHECKSTR=ISTR
ISTR_KILL=REPLACE(ISTR_FORM,ISTR,"")
IF ISTR<>ISTR_FORM THEN
RESPONSE.WRITE ""
RESPONSE.END
END IF
END FUNCTION