防止xss_sql注入

1.所以得SQL语句如果有类似这样的写法:"select * from cdr where src =".$userId; 都要改成 $userId=mysql_real_escape_string($userId) 

2.所有有打印的语句如echo,print等 在打印前都要使用htmlentities()或者htmlspeicalchars() 进行过滤,这样可以防止Xss,注意中文要写出htmlentities($name,ENT_NOQUOTES,GB2312) 。 



----------------------------------------7个要点------------------------------------------

1:数字型参数使用类似intval,floatval这样的方法强制过滤。

2:字符串型参数使用类似mysql_real_escape_string这样的方法强制过滤,而不是简单的addslashes。

3:最好抛弃mysql_query这样的拼接SQL查询方式,尽可能使用PDO的prepare绑定方式。

4:使用rewrite技术隐藏真实脚本及参数的信息,通过rewrite正则也能过滤可疑的参数。

5:关闭错误提示,不给攻击者提供敏感信息:display_errors=off。

6:以日志的方式记录错误信息:log_errors=on和error_log=filename,定期排查,Web日志最好也查。

7:不要用具有FILE权限的账号(比如root)连接MySQL,这样就屏蔽了load_file等危险函数。


你可能感兴趣的:(sql,注入,xss)