网站安全
网页安全:XSS跨站攻击
对获取的参数进行HTML转义,如空格转成 ,‘<’ 转为 ****等,php提供函数htmlspecialchars(),这就是 I('param')会做的事。
数据库安全:
获取的参数需要进行处理,如引号,分号,比较符号 = like !=等,防止在数据库里面执行了其他操作,如 test.com/index/index?id=1;drop database blog; 这样id 值为1;drop database blog;如果直接拼接mysql就会出现:
select * from table where id=1;drop database blog; 这样就删除数据库了
所需需要处理mysql的符号转义+类型转换
符号转义: php提供函数addslashes(),mysql_real_escape_string(),函数在指定的预定义字符前添加反斜杠。这些字符是单引号(')、双引号(")、反斜线(\)与NUL(NULL字符)。
类型转换: intval('1;drop database blog;') => 1
建议使用PDO ,不用这些参数过滤,原生mysql自己做参数过滤多好