首页
学习
活动
专区
圈层
工具
发布

PHP引号转义(解决POST,GET,Mysql数据自动转义问题)

今天做了一个小项目,给别人之后发现post数据被自动转义了,我郁闷了半天,我google了一下发现是PHP魔术引号在作怪。。。我煞费苦心终于找到了原因,可是怎么解决呢?百度。。。...其实都挺好的 在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。...该选项可在运行的时改变,在 PHP 中的默认值为 off。 magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。...如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。...文件(修改php.ini这个方法就不说了,大家可以google下) 对策二:把转义的给取消了 第一步:找到你提交的数据比如$_POST[‘content’],将其改成$content=stripslashes

2.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    吃透一文总结,轻松入门代码审计!

    或者有类似关键字的文件 看配置文件,带有config关键字的文件,找到mysql.class.php文件的connect()函数,查看在数据库连接时是否出现漏洞 继续跟读首页文件index.php,了解程序运作时调用了哪些函数和文件以...Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif, SimHei, SimSun">,``\检查传入的参数,做出限制,停止程序往下执行...不受GPC保护的_SERVER变量:PHP5以后,_SERVER取到的header不再受GPC影响,就算开启特殊字符也不会被转义,存在注入 编码问题转换 GBK的宽字节注入:%df ' 单引号自动被转义成...(%5c),同时%df与%5c连在一起组合成運字单引号依然在,成功闭合。...>:php3.0.4版本后可用 :asp标签,需要asp_tags=on,默认是off 正则表达式 没有使用^ 和 $ 限定匹配开始位置1. 特殊字符未转义 报错注入 <?

    1.4K11

    代码审计入门总结

    其通用的思路有: 通读全文代码,从功能函数代码开始阅读,例如include文件夹下的common_fun.php,或者有类似关键字的文件。...看配置文件,带有config关键字的文件,找到mysql.class.php文件的connect()函数,查看在数据库连接时是否出现漏洞。...2.技巧: (1) 钻GPC等转义的空子: 不受GPC保护的$_SERVER变量:PHP5以后,$_SERVER取到的header不再受GPC影响,就算开启特殊字符也不会被转义,存在注入 编码问题转换:...GBK的宽字节注入:%df ' 单引号自动被转义成(%5c),同时%df与%5c连在一起组合成運字单引号依然在,成功闭合。...>:php3.0.4版本后可用 :asp标签,需要asp_tags=on,默认是off 正则表达式: 没有使用^ 和 $ 限定匹配开始位置: 特殊字符未转义: 报错注入: ?

    1.9K70

    PHP编程遇到过的细节问题(总结)

    向数据库Mysql写入html 向数据库Mysql写入html语句时被自动转义,原来是自己转义写入,取出后转义回去,发现转义回不去了。调试了一下发现写入时转了两次,现在还没找到原因。...正则匹配 正则匹配时当“.”在“[ ]”内时代表标点符号,不需要转义,其它元字符则需要转义。非贪婪匹配 (.*?).../\w/、#\w#、@\w@是等价的,在正则中匹配反斜杠需要四个\\\\,才能匹配(\\\也可以,但是官方说要四个);讲道理,php单引号内不换进行转义使用\\应该也可以,但事实并非如此。...在java内元字符前面 \\s ,都是两个杠,字符串转义 \\之后是一个斜杠,正则本身也需要转义。所以java匹配\需要四个,经过字符串正则两道转义。 18. PHP 通过多进程实现异步操作。 PHP普通变量和define声明的常量不受namespace的约束,也就是说include文件时,普通变量重复声明时,前一个会被后一个覆盖 22. clone关键字 在 PHP 中可以使用 clone

    1.1K20

    vue的基本使用

    /js/vue.js"> 页面装载vue核心语法后,会在浏览器window对象中提供一个全局的构造方法vue vue函数为一个js的对象构造器,使用时需要通过new关键字进行vue对象创建...概念数据库概述数据库的概念mysql数据库简介 mysql安装与配置安装准备windows下mysql的安装与配置商业mysql图形管理工具介绍 mysql数据库管理数据库初始化数据库创建数据库查看数据库删除...mysql表结构管理创建数据表查看数据表结构修改数据表删除数据表 mysql用户管理用户创建与删除用户授权与回收设置与更改密码 sql基本语法简介mysql基本数据类型数值类型字符串类型日期时间类型...正则表达式行定位符单词定界符字符类选择符范围符排除符限定符任意字符转义字符反斜杠小括号反向引用模式修饰符使用 PCRE 扩展正则表达式函数数组过滤执行一次匹配执行所有匹配转义字符查找替换高级查找替换分隔字符串...PHP 数字操作函数PHP 日期时间操作函数PHP 数组操作函数PHP 文件系统处理PHP 图形图像处理PHP 与 WEB 页面交互PHP 面向对象程序设计PHP 操作数据库 mysql配置mysql

    1.5K20

    紧急避坑 | MySQL 含有下划线的数据库名在特殊情况下导致权限丢失

    本文约 3300 字,预计阅读需要 12 分钟。 在 MySQL 的授权操作中,通配符 "_" 和 "%" 用于匹配单个或多个字符的数据库对象名。...然而,通配符 _ 在 MySQL 中具有特殊含义,它用于匹配任意单个字符。因此,这条授权语句实际上可能会匹配多个数据库,而不仅仅是 db_1。...官方文档提到,当涉及多个通配符授权时,MySQL 只会应用第一个匹配的授权,后续的通配符授权将不会生效。然而,在我的案例中,情况有所不同:我只使用了一个通配符授权,之后又添加了一个经过正确转义的授权。.../bug.php?...id=116161 [2] grant: https://dev.mysql.com/doc/refman/8.4/en/grant.html 本文关键字:#MySQL# #通配符# #权限#

    68610

    从二次注入,到报错注入注入,再到正则表达式绕过

    php include 'db.inc.php'; foreach(array('_GET','_POST','_COOKIE') as $key){ foreach($$key as $k =.../manual/zh/function.addcslashes.php) 转义的字符串 返回反转义后的字符串。...llo' 既然可以转义,直接让他来转义\x27 就可以使用单引号了。 关于正则的绕过 可以看出正则表达式中有\b 先来看看\b的作用,\b的作用是匹配单词的边界。...关于报错注入 UpdateXML(xml_target, xpath_expr, new_xml) updatexml函数有三个参数,作用是xml替换,把xml_target中被xpath_expr匹配到的部分使用...00000select version()*/)),得到'5.5.42-log,作为第二个参数传入updatexml函数中,而updatexml第二个参数为xml的匹配表达式,单引号为非法字符,因此报错

    1.2K30

    php面试题(1)

    3、require与include最主要的区别,a、require出错时,脚本将停止运行,而include出错的情况下,脚本将继续执行。...PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。...POSIX兼容正则和PERL兼容正则“[]之外”“一致”的元字符: \ 有数种用途的通用转义符 ^ 匹配字符串的开头 $ 匹配字符串的结尾 ?...POSIX兼容正则匹配任意一个字符 POSIX兼容正则和PERL兼容正则“[]之内”“一致”的元字符: \ 有数种用途的通用转义符 ^ 取反字符,但仅当其为第一个字符时有效 - 指定字符...的字符 \W 任一“非字”的字符 \b 字分界线 \B 非字分界线 \A 目标的开头(独立于多行模式) \Z 目标的结尾或位于结尾的换行符前(独立于多行模式) \z 目标的结尾(

    4.5K20

    mysql通配符转义_转义MySQL通配符

    小编典典 _而%不是通配符在MySQL一般,而且不应该被转义,将它们放入普通的字符串字面量的目的。mysql_real_escape_string是正确的,足以满足此目的。...当您想为LIKE语句中的文字使用准备字符串时,要100%匹配百分之一百,而不仅仅是以100开头的任何字符串,都需要担心两种转义。 首先是喜欢转义。...在此方案中,_并且%是特殊的,必须进行转义。转义字符也必须转义。根据ANSI SQL,除这些字符外, 不得 转义:\’这是错误的。(尽管MySQL通常会让您摆脱它。)...这里引起混乱的问题是,在MySQL中,两个嵌套转义步骤都使用反斜杠作为转义字符!因此,如果要将字符串与文字百分号匹配,则必须双反斜杠转义并说出LIKE ‘something\\%’。...或者,如果在PHP “文字中也使用反斜杠转义,则”LIKE ‘something\\\\%'”。啊!

    6.9K20

    审计一套CMS中的SQL注入

    漏洞的挖掘也分为,点对点挖掘漏洞,和分散式挖掘漏洞,这我们主要使用点对点挖掘,在挖掘是我们需要找一些关键字,漏洞本身就是两个条件,可控的函数,和可控的变量。...1.首先打开about.php源代码,然后 $GET[r] 通过GET的方式接收一个传递参数,然后通过使用 addslashes 函数过滤,addslashes函数的作用是转义,将多余的单引号全部转义,...转义以后交给llink变量保存结果,然后拼接SQL查询语句,由于拼接代码 $llink中存在单引号,那我们需要手动闭合单引号,一旦闭合单引号addslashes函数就起了作用,会自动过滤掉单引号,所以这里无法被绕过...> 2.打开另一个 content.php 观察下方的PHP代码,虽然有很多处数据库的操作,但是带入查询时都是通过单引号括起来的,并且每一个语句都强制使用addslashes函数进行了不同程度的转义,这里并没有可利用的地方...php $query=mysql_query("select * FROM interaction WHERE (cid='$id' AND type=1 and xs=1)"); $pinglunzs

    1.9K20

    渗透测试系统学习-Day10

    :post,get,cookie过来的数据增加转义字符""以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。...这些字符都会被加上反斜线 magic_quotes_gpc的作用:当PHP的传参有特殊字符就会在前面加转义字符''来做一些过滤 单引号和双引号内的一切都是字符串,那我们输入的东西如果不能闭合掉单引号和双引号...GBK字符集可以看作是GB2312字符集的扩展,兼容了GB2312字符集,共收录了20000多个汉字。GBK中的k是汉语拼音Kuo Zhan(扩展)中的“Kuo”的首字母。...为什么不建议在MySQL中使用UTF8?...就逃逸了 3.1宽字节注入过滤原理 PHP发送请求到mysql时经过一次GBK编码,PHP会将获取到的数据进行魔术引号的处理,因为GBK是双字节编码,所以我们提交的%df这个字符和转译的反斜杠组成了新的汉字

    86420

    【详解】sqli-labs-master使用介绍

    PHP和MySQL。...确保 PHP 已经安装并且配置正确。配置数据库:创建一个新的 MySQL 数据库,例如命名为 ​​sqli​​。...Less-13: SQL 注入,但对单引号、双引号、反斜杠、分号、空格、注释符、括号、数字、字母、特殊字符、Unicode 编码和 SQL 关键字进行了转义。...Less-14: SQL 注入,但对单引号、双引号、反斜杠、分号、空格、注释符、括号、数字、字母、特殊字符、Unicode 编码、SQL 关键字和 SQL 函数进行了转义。...Less-15: SQL 注入,但对单引号、双引号、反斜杠、分号、空格、注释符、括号、数字、字母、特殊字符、Unicode 编码、SQL 关键字、SQL 函数和 SQL 子查询进行了转义。

    2.1K00
    领券