PHP MYSQL注入攻击需要预防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等危险函数。
- 防止MySQL注入或HTML表单滥用的PHP程序
- PHP+mysql防止SQL注入的方法小结
- php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
- Php中用PDO查询Mysql来避免SQL注入风险的方法
- PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
- php中mysql连接方式PDO使用详解
- php中数据库连接方式pdo和mysqli对比分析
- php基于PDO实现功能强大的MYSQL封装类实例
- PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
- PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
- php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
- PHP使用PDO实现mysql防注入功能详解
相关文章
MySQL 5.7.16 修改密码提示 ERROR 1054 (42S22): Unknown column ''''p
这篇文章主要介绍了MySQL 5.7.16 修改密码提示 ERROR 1054 (42S22): Unknown column 'password' in 'field list'的原因分析及解决办法,需要的朋友可以参考下2017-01-01mysql导入sql文件报错 ERROR 2013 2006 2002
今天在做项目的时候遇到个问题,就是往mysql里导入sql文件的时候总是报ERROR 2013 2006 2002,研究了一番才找到解决办法,这里记录下来分享给大家2014-11-11Centos7下安装MySQL8.0.23的步骤(小白入门级别)
这篇文章主要介绍了Centos7下安装MySQL8.0.23的步骤(小白入门级别),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)
这篇文章主要介绍了mysql 5.7.20常用下载、安装和配置方法及简单操作技巧(解压版免安装)的相关资料,需要的朋友可以参考下2017-11-11mysql启动的error 2003和1067错误问题解决方法
mysql安装好经常发现无法正常启动碰到最多的是error 2003的错误,经研究在此附上解决方法,希望可以帮助有类似问题的朋友2013-09-09MySQL的从库Seconds_Behind_Master延迟总结
这篇文章主要介绍了MySQL的从库Seconds_Behind_Master延迟的相关资料,需要的朋友可以参考下2021-08-08
最新评论