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利用AES_ENCRYPT()与AES_DECRYPT()加解密的正确方法示例
MySQL中AES_ENCRYPT('密码','钥匙')函数可以对字段值做加密处理,AES_DECRYPT(表的字段名字,'钥匙')函数解密处理,下面这篇文章主要给大家介绍了关于MySQL利用AES_ENCRYPT()与AES_DECRYPT()加解密的正确方法,文中给出了详细的示例代码,需要的朋友可以参考下。2017-08-08
64位CentOs7源码安装mysql-5.6.35过程分享
本文给大家分享的是在64位CentOs7系统中使用源码安装mysql-5.6.35的详细过程,非常的细致,有需要的小伙伴可以参考下2017-02-02
MySQL主从复制之半同步semi-sync replication
这篇文章主要介绍了MySQL主从复制之半同步semi-sync replication,半同步相对于异步复制而言,提高了数据的安全性,同时也造成了一定程度的延迟,这个延迟最少是一个TCP往返的时间。所以,半同步复制最好在低延时的网络中使用,下文详细内容,需要的小伙伴可以参考一下2022-02-02
Navicat出现无法远程连接MySql服务器问题的解决办法
这篇文章主要介绍了Navicat出现无法远程连接MySql服务器问题的解决办法,文章通过思路判断出现问题的情况,然后进行逐一排查,确定问题出现的原因并给出解决办法,本文对此问题的解决介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-08-08


最新评论