一般性的防注入,只要使用php的 addslashes 函数就可以了。
PHP代码
  1. $_POST = sql_injection($_POST);
  2. $_GET = sql_injection($_GET);
  3. function sql_injection($content)
  4. {
  5. if (!get_magic_quotes_gpc()) {
  6. if (is_array($content)) {
  7. foreach ($content as $key=>$value) {
  8. $content[$key] = addslashes($value);
  9. }
  10. } else {
  11. addslashes($content);
  12. }
  13. }
  14. return $content;
  15. }
做系统的话,可以用下面的代码
PHP代码
  1. function inject_check($sql_str) {
  2. return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);    // 进行过滤
  3. }
  4. function verify_id($id=null) {
  5. if (!$id) { exit('没有提交参数!'); }    // 是否为空判断
  6. elseif (inject_check($id)) { exit('提交的参数非法!'); }    // 注射判断
  7. elseif (!is_numeric($id)) { exit('提交的参数非法!'); }    // 数字判断
  8. $id = intval($id);    // 整型化
  9. return  $id;
  10. }
  11. function str_check( $str ) {
  12. if (!get_magic_quotes_gpc()) {    // 判断magic_quotes_gpc是否打开
  13. $str = addslashes($str);    // 进行过滤
  14. }
  15. $str = str_replace("_", "\_", $str);    // 把 '_'过滤掉
  16. $str = str_replace("%", "\%", $str);    // 把 '%'过滤掉
  17. return $str;
  18. }
  19. function post_check($post) {
  20. if (!get_magic_quotes_gpc()) {    // 判断magic_quotes_gpc是否为打开
  21. $post = addslashes($post);    // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤
  22. }
  23. $post = str_replace("_", "\_", $post);    // 把 '_'过滤掉
  24. $post = str_replace("%", "\%", $post);    // 把 '%'过滤掉
  25. $post = nl2br($post);    // 回车转换
  26. $post = htmlspecialchars($post);    // html标记转换
  27. return $post;
  28. }

PHP防SQL注入攻击相关推荐

  1. 超强JSP防SQL注入攻击

    第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可: String sql= "select * from users where userna ...

  2. C# 检查字符串,防SQL注入攻击(转载)

    这些天,CSDN上讨论SQL注入攻击似乎是如火如荼啊...我也来参合一下..如下,CheckParams函数,接收参数任意,如参数中有字符串,则对字符串进行检查,如参数中有集合(如Array之类,总之 ...

  3. Godaddy服务器上关于ASP.NET网站建设一些经验 - 防SQL注入攻击(三)

    作者: 阙荣文 ( querw ) 什么是SQL注入攻击,有什么危害 先来看一个例子说说SQL注入攻击是怎么回事,有什么危害. 在有用户参与的网站中,所有操作中最重要的就是登录.要求用户输入用户名和密 ...

  4. jdbc之防sql注入攻击

    1.SQL注入攻击:     由于dao中执行的SQL语句是拼接出来的,其中有一部分内容是由用户从客户端传入,所以当用户传入的数据中包含sql关键字时,就有可能通过这些关键字改变sql语句的语义,从而 ...

  5. PHP几个防SQL注入攻击自带函数区别

    为了防止SQL注入攻击,PHP自带一个功能可以对输入的字符串进行处理,可以在较底层对输入进行安全上的初步处理,也即Magic Quotes.(php.ini magic_quotes_gpc).如果m ...

  6. php如何防sql注入攻击,php防sql注入攻击(含php6)

    网站攻击最常见的就是sql注入式攻击了,防范于未然很重要- PHP可以开启环境变量配置为POST.GET.REQUEST.COOKIE等用户传过来的参数值自动增加转义字符"\",以 ...

  7. .NET防SQL注入方法

      SQL语句 利用SqlCommand传参数的方法: string strSQL="SELECT * FROM [user] WHERE user_id=@id"; SqlCom ...

  8. 如何防止网站被SQL注入攻击之java网站安全部署

    SQL注入攻击(SQL injection)是目前网站安全以及服务器安全层面上是最具有攻击性,危害性较高,被黑客利用最多的一个漏洞,基本上针对于网站代码,包括JAVA JSP PHP ASP apac ...

  9. tp5防止sql注入mysql_TP5框架 《防sql注入、防xss攻击》

    版权声明:本文为博主原创文章,转载请注明原文出处! https://blog.csdn.net/qq_23375733/article/details/86606630 如题:tp5怎么防sql注入 ...

最新文章

  1. 【Ubuntu】安装Java和Eclipse
  2. mysql 8.0 创建函数_MySQL 8.0 新增特性
  3. java爬取网页数据_如何使用爬虫工具采集数据
  4. mysql 插入数据 自增长_如何在MYSQL插数据 ID自增
  5. 微机原理8086汇编语言上机——Masm环境搭建与常用汇编调试指令
  6. 山大网络计算机基础知识模拟,山大网络教育计算机系统结构模拟试卷1
  7. shellcode免杀工具Go_Bypass的使用
  8. uni-app 使用 @touchmove.stop.prevent 导致弹框内容无法滚动
  9. 2021级《高级语言》重现 F 方阵
  10. VIRTIO-BLK-DATA-PLANE的配置使用
  11. 【智能手环APP for Android 】01 百度地图展示行动轨迹
  12. C/C++ DLL封装及调用
  13. 自然的密码---36幅由算法生成的六芒星图像
  14. ReadProcessMemory()
  15. POI Word表格删除行removeRow()
  16. 论文记录3_CycleGAN-损失函数部分
  17. AWS系列之一 亚马逊云服务概述
  18. spring cloud多模块项目框架搭建-Redis-Cluster集群搭建及系统集成
  19. 《11.uboot的移植-从三星官方uboot开始移植》
  20. 还不了解进程吗?就这一篇!

热门文章

  1. python动态规划图解_动态规划案例之python实现(一)
  2. python某行某列读取数据_使用scrpython从某行的第一列提取数据
  3. mac mysql mysqldump_Mac下Mysql导出sql语句的方法及可能遇到的mysqldump: command not found...
  4. 朴素贝叶斯算法和逻辑回归算法的区别?
  5. 动态规划之最长公共子串
  6. MySQL约束课堂笔记
  7. 星际战争2服务器维护,星际战争2初次反击虚空技能洗练技巧
  8. horizon client 无法识别域_LY-W100摄像头视频定时拍照图像识别分析抄表读表无线远传水表数_水表吧...
  9. tcpdump源码分析——抓包原理
  10. trident API指南