这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

我的官方群点击此处。

方法一:

mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 !

$sql = "select count(*) as ctr from users where username='".mysql_real_escape_string($username)."' andpassword='". mysql_real_escape_string($pw)."' limit 1";

方法二:

打开magic_quotes_gpc来防止SQL注入。php.ini中有一个设置:magic_quotes_gpc = Off这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 '等,对于防止sql注射有重大作用。

如果magic_quotes_gpc=Off,则使用addslashes()函数。

方法三:

自定义函数

程序猿的生活:【社群福利】30G-PHP进阶资料,助力大家都能30K​zhuanlan.zhihu.com

/*** 防止sql注入自定义方法一* author: xiaochuan* @param: mixed $value 参数值*/ function check_param($value=null) { #  select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile$str = 'select|insert|and|or|update|delete|'|/*|*|../|./|union|into|load_file|outfile';if(!$value) {exit('没有参数!'); }elseif(eregi($str, $value)) { exit('参数非法!');}return true; } /*** 防止sql注入自定义方法二* author: xiaochuan* @param: mixed $value 参数值*/function str_check( $value ) { if(!get_magic_quotes_gpc()) { // 进行过滤 $value = addslashes($value); } $value = str_replace("_", "_", $value); $value = str_replace("%", "%", $value); return $value; } /*** 防止sql注入自定义方法三* author: xiaochuan* @param: mixed $value 参数值*/function post_check($value) { if(!get_magic_quotes_gpc()) {// 进行过滤  $value = addslashes($value);} $value = str_replace("_", "_", $value); $value = str_replace("%", "%", $value); $value = nl2br($value); $value = htmlspecialchars($value); return $value; }

以上就是PHP+Mysql防止SQL注入的方法的详细内容

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)相关推荐

  1. php mysql防注入字符串过滤_php中防止SQL注入的方法

    最好对magic_quotes_gpc已经开放的情况下,还是对$_POST['lastname']进行检查一下. 再说下mysql_real_escape_string和mysql_escape_st ...

  2. mysql存储过程与自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> #mysql存储过程与自定义函数: delimiter $ 1.最简单的存储过程 create procedure test( ...

  3. mysql存储过程和自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> 存储过程简介 SQL语句需要先编辑后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储过程在数据库中,用户通过 ...

  4. MySQL学习笔记—自定义函数

    MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如 ...

  5. Mysql 8.0安装 Navicat for MySQL 下载安装及使用教程

    Mysql 8.0安装 & Navicat for MySQL 下载安装及使用教程 MySQL 8.0 安装配置方法教程 安装: 1.官网下载zip 2.解压,复制到指定目录.新建data文件 ...

  6. MySQL 8.0.15备份还原 MySQL 5.7.17

    MySQL 8.0.15备份还原 MySQL 5.7.17 问题场景 解决方案 报错及替换后结果 问题场景 MySQL 8.0.1版本数据库备份 还原到 MySQL 5.7.17 数据库中:报错: 解 ...

  7. mysql 防注入 php_PHP+mysql防止SQL注入的方法小结

    本文实例讲述了PHP+mysql防止SQL注入的方法.分享给大家供大家参考,具体如下: SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE useri ...

  8. decimal转为string sql_PHP+Mysql防止SQL注入的方法

    这篇文章介绍的内容是关于PHP+Mysql防止SQL注入的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处. 方法一:[1] mysql_real_escape_ ...

  9. mysql简单防注入_mysql防止sql注入的方法

    mysql防止sql注入的方法 发布时间:2020-08-25 14:07:29 来源:亿速云 阅读:98 作者:小新 这篇文章将为大家详细讲解有关mysql防止sql注入的方法,小编觉得挺实用的,因 ...

最新文章

  1. 小明分享|基于VSCode Espress IDF软件环境搭建
  2. Android sdk Drow9patch使用
  3. 摆放家具-家具类以及创建家具对象
  4. 实用Python库,这几个你认识不?
  5. 【转】C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
  6. 从0开始搭建公司后台技术栈,这套架构值得拥有...
  7. 机器学习--弹性网络(Elastic-Net Regression)
  8. 用.net 2003开发Windows CE应用,解决与pocket pc通讯的问题
  9. 【ElasticSearch】Es 源码之 UsageService 源码解读
  10. 今天开始每天一点ffmpeg知识。千里之行 。
  11. android开发深入浅出,Android开发深入浅出RxJava(一:基础篇)
  12. Gurobi优化器使用(一)搭建并求解一个优化模型的过程【C++环境】
  13. 算法与数据结构——有序表(Java)(b站左程云课程笔记总结)
  14. 程序员知道什么叫劳务外包?企业为什么要选择劳务外包吗?
  15. 怎么用计算机算到期收益率,怎样用计算器算出债券到期收益率?
  16. 利用Cydia Substrate Hook移动MM支付
  17. 从初级晋级高级UI设计师学习路线+全套视频
  18. Premiere 抠像与合成
  19. FreeRTOS学习(一)
  20. wpf 字体模糊_WPF Effect 造成的字体模糊

热门文章

  1. 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
  2. Nginx卡在登录页面不断跳转如何解决?(登不进登录页面)ip_hash机制(还是没解决)
  3. windows怎么用qt MinGW gcc编译c代码
  4. 运行 YunYang1994/tensorflow-yolov3 所遇到的一些问题记录
  5. python的yield和yield from
  6. 手把手详解堆排序,堆就这么难懂?没有人看一遍学不会的,如果学不会,那就两遍吧
  7. Increasing or Decreasing 序列 转换
  8. mysql提高并行并行_oracle 并行之并行度篇
  9. springcloud的理解
  10. java中将对象转为基本数据类型