高效安全的 mysql php 程序
高效安全的 mysql php 程序php 5.3 以下版本默认自动转义 GET POST COOKIE REQUEST 中的 ' " 在前面添加 \' \" 以保证数据库安全。
php 5.3 及以上版本默认php.ini 中设置是关闭状态,如果是自己的服务器可以修改php.ini 开启此功能。
也可以通过 get_magic_quotes_gpc() 来获取php.ini中的状态,在逐个循环GET POST 元素进行addslashes 转换
数字形和字符形参数安全
数字形参数使用 intval 进行过滤,不过要注意int 的最大值问题。在能预知最大值的情况下可以使用,如果超出范围可以使用 preg_replace来取出数字
function safeIntval($val)
{
$val = preg_replace('/[^\d]/','',$val);
$val = empty($val) ? 0 : $val;
return $val;
}
字符形参数使用上述方法进行第一次过滤
可以保证SQL 安全,但不能保证JS 攻击。对于非必要显示HTML的字段进行UUB转换或其它转换保证数据库安全。
除测试环境请勿使用root 用户部署在真正环境中。
root 可以读写文件,应该使用普通用户。授予相应最低的权限。
- 上一篇:修改 php ecshop 中分页样式
- 下一篇:js 正则表达式匹配