广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何预防sql注入漏洞
  • 810
分享到

php如何预防sql注入漏洞

2024-04-02 19:04:59 810人浏览 八月长安
摘要

PHP预防sql注入漏洞的方法:利用magic_quotes_gpc指令或它的搭挡addslashes()函数进行过滤,例如:<?php//php防注入和XSS攻击通用过滤$_GET    &n

php如何预防sql注入漏洞

PHP预防sql注入漏洞的方法:

利用magic_quotes_gpc指令或它的搭挡addslashes()函数进行过滤,例如:

<?php

//php防注入和XSS攻击通用过滤

$_GET     && SafeFilter($_GET);

$_POST    && SafeFilter($_POST);

$_COOKIE  && SafeFilter($_COOKIE);

  

function SafeFilter (&$arr) 

{

   $ra=Array('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','/script/','/javascript/','/vbscript/','/expression/','/applet/'

   ,'/meta/','/xml/','/blink/','/link/','/style/','/embed/','/object/','/frame/','/layer/','/title/','/bgsound/'

   ,'/base/','/onload/','/onunload/','/onchange/','/onsubmit/','/onreset/','/onselect/','/onblur/','/onfocus/',

   '/onabort/','/onkeydown/','/onkeypress/','/onkeyup/','/onclick/','/ondblclick/','/onmousedown/','/onmousemove/'

   ,'/onmouseout/','/onmouseover/','/onmouseup/','/onunload/');

     

   if (is_array($arr))

   {

     foreach ($arr as $key => $value) 

     {

        if (!is_array($value))

        {

          if (!get_magic_quotes_gpc())  //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。

          {

             $value = addslashes($value); //给单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)

             加上反斜线转义

          }

          $value   = preg_replace($ra,'',$value);     //删除非打印字符,粗暴式过滤xss可疑字符串

          $arr[$key] = htmlentities(strip_tags($value)); //去除HTML和PHP标记并转换为HTML实体

        }

        else

        {

          SafeFilter($arr[$key]);

        }

     }

   }

}

?>

--结束END--

本文标题: php如何预防sql注入漏洞

本文链接: https://www.lsjlt.com/news/114731.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何预防sql注入漏洞
    php预防sql注入漏洞的方法:利用magic_quotes_gpc指令或它的搭挡addslashes()函数进行过滤,例如:<php//php防注入和XSS攻击通用过滤$_GET    &nb...
    99+
    2022-10-17
  • 如何做好防护SQL注入漏洞
    如何做好防护SQL注入漏洞【199cloud-艾娜】 1. SQL注入原理 漏洞形成原因:用户输入的数据被SQL解释器执行。 2. 常见的SQL注入类型分类 数字型 & 字符型,不管注入类型如何...
    99+
    2022-10-18
  • 通过什么防范sql注入漏洞
    防范sql注入漏洞的方法:对数据有效性进行校验,例如一个输入框只能输入数字,那么要通过校验确保用户输入的都是数字。对客户端提交的数据进行封装,不要将数据直接存入cookie中,方法:在编程的代码中,插入session、if、try、else...
    99+
    2022-10-18
  • 网站漏洞修复方案防止SQL注入攻击漏洞
    SQL注入漏洞在网站漏洞里面属于高危漏洞,排列在前三,受影响范围较广,像asp、.net、PHP、java、等程序语言编写的代码,都存在着sql注入漏洞,那么如何检测网站存在sql注入漏洞? SQL注入漏洞测试方法 在程序代码里不管是g...
    99+
    2023-06-04
  • 如何修复sql注入漏洞
    修复sql注入漏洞的方案:对所有查询语句,使用标准化的数据库查询语句API接口,设定语句的参数进行过滤一些非法的字符。对用户提交的参数进行安全过滤,像一些特殊的字符(,()*&……%#等等)进行字符转义操作网站的代码层编码统一使用utf8编...
    99+
    2022-10-25
  • 如何修补sql注入漏洞
    修补sql注入漏洞的方法:对所有查询语句,使用标准化的数据库查询语句API接口,设定语句的参数进行过滤一些非法的字符。对用户提交的参数进行安全过滤,像一些特殊的字符(,()*&……%#等等)进行字符转义操作。网站的代码层编码统一使用...
    99+
    2022-10-14
  • 如何测试sql注入漏洞
    测试sql注入漏洞的方法:在登录页面的用户名输入框中,填上正常用户名admin,并且在用户名后增加一个单引号,单击"登录"或在URL地址栏直接输入登录后台,若出错证明没有对'进行过滤,存在SQL注入漏洞。...
    99+
    2022-10-14
  • sql注入漏洞防御措施有哪些
    sql注入漏洞防御措施有:对输入进行严格的转义和过滤,例如://转义示例function escape($link, $data){if(is_ string($data)){return mysql...
    99+
    2022-10-21
  • 防止sql注入漏洞用什么函数
    防止sql注入漏洞可以用以下三个函数:addslashes()用于单字节字符串的处理,他是强行加/$username=addslashes($username);mysql_escape_string用于多字节字符串的处理,不考虑连接的当前...
    99+
    2022-10-12
  • node如何预防sql注入
    node预防sql注入的方法:使用mysql.format()转义参数,例如:var userId = 1;var sql = "SELECT * FROM WHERE = ";var inserts = ['users...
    99+
    2022-10-05
  • jdbc如何避免sql注入漏洞
    jdbc避免sql注入漏洞的方法:使用PreparedStatement来避免SQL注入,PreparedStatement继承了Statement接口,执行SQL语句的方法无异,例如://预编译SQL语句PreparedStatement...
    99+
    2022-10-04
  • jsp如何修复sql注入漏洞
    jsp修复sql注入漏洞的方法:采用PreparedStatement预编译语句集,它内置了处理SQL注入的能力,使用它的setXXX方法传值即可。使用正则表达式过滤传入的参数,例如:要引入的包:import java.util.regex...
    99+
    2022-10-20
  • 如何解决SQL注入漏洞问题
    本篇内容介绍了“如何解决SQL注入漏洞问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言最近我在整理安...
    99+
    2022-10-18
  • 如何验证网站的sql注入漏洞
    验证网站sql注入漏洞的方法:可以借助第三方软件“Webpecker(网站啄木鸟)”来检测验证。下载并安装Webpecker。打开软件,在左侧点击“web安全”。输入一个网址进行检测验证。若存在sql注入漏洞,会显示在中间列表中。...
    99+
    2022-10-10
  • url存在sql注入漏洞如何解决
    url存在sql注入漏洞的解决方法:使用拦截器进行对request的host进行了验证,例如:package com.XXX.interceptoer;import com.jfinal.aop.Interceptor;import com...
    99+
    2022-10-23
  • SQL注入如何做预防措施
    小编给大家分享一下SQL注入如何做预防措施,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 .什么是sql注入(Sql inje...
    99+
    2022-10-18
  • javaweb登录如何预防SQL注入
    javaweb登录预防SQL注入的方法:可采用PreparedStatement进行预编译,例如:String sql = "select* from users where username= and pas...
    99+
    2022-10-18
  • PHP的预处理查询如何防止SQL注入
    这篇文章主要讲解了“PHP的预处理查询如何防止SQL注入”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP的预处理查询如何防止SQL注入”吧!PHP的预处理查询是如何防止SQL注入的?目前...
    99+
    2023-07-05
  • mysql预处理如何防止sql注入
    mysql预处理防止sql注入的方法:预处理的语法://发送一条sql给mysql服务器,mysql服务器会解析这条sql  $pdo->prepare('select * from b...
    99+
    2022-10-21
  • yii和tp框架如何预防SQL注入
    yii和tp框架预防SQL注入的方法:一、yii框架在对应文件中添加以下代码进行调用:function actionClean($str){$str=trim($str);$str=strip_tags($str);$str=st...
    99+
    2022-10-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作