首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

今天做了一个小项目,给别人之后发现post数据被自动转义了,我郁闷了半天,我google了一下发现是PHP魔术引号在作怪。。。我煞费苦心终于找到了原因,可是怎么解决呢?百度。。。...其实都挺好的 在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(斜线)和 NULL 字符转转。...PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。...该选项可在运行的时改变,在 PHP 中的默认值为 off。 magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非斜线。...如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、斜线 和 NULL 字符将不会进行转义

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

php让json_encode不自动转义斜杠“”的方法

hp中怎么让json_encode不自动转义斜杠“/”?下面本篇文章给大家介绍一下PHP中让json_encode不自动转义斜杠“/”的方法。...最近将使用爬虫爬取的链接保存到 mysql 数据库中时,发现我将链接使用 json_encode 保存时候,在数据库中却显示了转义字符,我并不需要这转义的,看起来不清晰而且占用存储空间。...不自动转义斜杠。...版本是 5.4 及以上的话: var_dump(json_encode($a,JSON_UNESCAPED_SLASHES)); 到此这篇关于php让json_encode不自动转义斜杠“/”的方法的文章就介绍到这了...,更多相关php怎么让json_encode不自动转义斜杠“/”内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

3K20

PHP 中的转义函数小结

返回值: 返回一个去除转义斜线后的字符串(\’ 转换为 ‘ 等等)。双斜线(\)被转换为单个斜线(\)。 代码示例: <?...mysql_real_escape_string() 调用mysql库的函数 mysql_real_escape_string, 在以下字符前添加斜杠: \x00 \n \r \ ' " \x1a...0X07 PHP 魔术引号 –> (< PHP 5.4) 1.什么是魔术引号 当打开时,所有的 ‘(单引号),”(双引号),\(斜线)和 NULL 字符都会被自动加上一个斜线进行转义。...不能在运行时改变。在 PHP 中默认值为 on。 代码示例: <?...3.不能在程序里面设置magic_quotes_gpc的值,原因是php中并没有set_magic_quotes_gpc这个函数,而magic_quotes_runtime有对应的能在代码中直接设置magic_quotes_runtime

3.2K20

PHP过滤表单字段

addslashes 单双引号、斜线及NULL加上斜线转义 被改的字符包括单引号 (')、双引号 (")、斜线 backslash (/) 以及空字符NULL。...mysql_real_escape_string 转义SQL字符串中的特殊字符 转义 /x00 /n /r 空格 / ' " /x1a,针对多字节字符处理很有效。...mysql_real_escape_string会判断字符集,mysql_escape_string则不用考虑。...magic_quotes_gpc函数在PHP中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误...所以从现在开始大家都不要再依赖这个设置为On了,以免有一天你的服务器需要更新到PHP6而导致你的程序不能正常工作。

3K20

php get_magic_quotes_gpc()函数用法介绍

[导读] magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“ ”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误...magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误...在magic_quotes_gpc=On的情况下,如果输入的数据有 单引号(’)、双引号(”)、斜线()与 NUL(NULL 字符)等字符都会被加上斜线。...这些转义是必须的,如果这个选项为off,那么我们就必须调用addslashes这个函数来为字符串增加转义。...所以从现在开始大家都不要再依赖这个设置为On了,以免有一天你的服务器需要更新到PHP6而导致你的程序不能正常工作。

1.1K50

PHP+MYSQL+COOKIE自动登陆3

)$_POST['autologin'];//为什么加int,因为是自动登录几天所以这样啊 //然后是知道了用户名与密码之后是链接 $link=mysqli_connect('localhost','root...7天看是否点击,为什么一周内自动登陆7天要加int因为是天啊 $username=mysqli_real_escape_string($link,$username);为安全?...考虑啊(加密) 转义一些输入的特殊的字符把,转义成字符串 if($result&&mysqli_affected_rows($link)==1) 作用是:有数据,1:代表有,0代表没有,-1代表错误。...($autologin)//点击了 { $expTime=time()+7*24*60*60; } else//没有点击不启动它把 { $expTime=0; } 点击了就能点就能自动登陆...7天 问题:为什么不能用密码,因为销毁密码难道别的用户不能用这个密码了吗是吧 exit(" alert('登录成功'); location.href='dl.php';

1.6K20

PHP处理MYSQL注入漏洞

MySQL报告出现语法SQL错误,原因是多输入了一个引号,然而前面的斜杠不见了,一旦出现数据库报错,就说明可以进行SQL注入了。...原因是GBK是多字节编码,PHP认为两个字节代表一个汉字,所以%81和后面的斜杠%5c变成了一个汉字“乗”,造成斜杠消失。...七、二次解码注入 通常情况下,为了防止SQL注入的发生,采取转义特殊字符,例如对用户输入的单引号(')、双引号(")进行转义变成“\'\"”。有一个误区就是通过配置PHP的GPC开关进行自动转义。...当攻击者将参数二次编码时,PHP自动转义将无法识别用户的恶意输入。 用前面的URL,来构造如下新的请求。 http://localhost:8080/mysql.php?...name=name%2527 当PHP接收到请求时会自动进行一次URL解码,变为name%27,然后代码里又使用urldecode()函数或rawurldecode()函数进行解码,%27变成了单引号,

2.3K50

宽字节注入详解分析

简介  宽字节注入,它的作用可以绕过转义,也是绕过转义的其中一个办法  宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,php代码:mysql_query...("SET 宽字节注入,它的作用可以绕过转义,也是绕过转义的其中一个办法   宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,php代码:mysql_query...如果存在宽字节注入,我们输入%df%27时首先经过上面提到的转义就会变成%df%5c%27(%5c就是斜杠)。...title=1%bb 后面的%bb不能去掉。   ...%DF’ :会被PHP当中的addslashes函数转义为“%DF\'” ,“\”既URL里的“%5C”,那么也就是说,“%DF'”会被转成“%DF%5C%27”倘若网站的字符集是GBK,MYSQL使用的编码也是

3.3K20

渗透测试系统学习-Day10

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

53820

8个与安全相关的PHP函数

1. mysql_real_escape_string() 这个函数对于在PHP中防止SQL注入攻击很有帮助,它对特殊的字符,像单引号和双引号,加上了“斜杠”,确保用户的输入在用它去查询以前已经是安全的了...2. addslashes() 这个函数和上面的mysql_real_escape_string()很相似。...默认情况下, magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据 自动运行 addslashes()。...不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致 双层转义。...6. md5() 一些开发者存储的密码非常简单,这从安全的角度上看是不好的,md5()函数可以产生给定字符串的32个字符的md5散列,而且这个过程不可逆,即你不能从md5()的结果得到原始字符串

893120

【译】YAML格式入门

尽管你可以使用双引号",但是,对于下列这些字符来说,最好使用单引号',这样可以避免使用斜线\ 对他们转义: :, {, }, [, ], ,, &, *, #, ?...null) 当字符串看起来是数字,例如整数(2, 14等),浮点数(2.6,14.9等),指数(12e7等)(否则它们会被认为是数字值) 当字符串看起来是个日期(例如2014-12-31)(否则它们会被自动转义成...5.2 MySQL: 5.1 Apache: 2.2.20 上述与下面的PHP代码类似 array('PHP' => 5.2, 'MySQL' => 5.1, 'Apache' => '2.2.20')...在:和值之间的空格是任意的 PHP: 5.2 MySQL: 5.1 Apache: 2.2.20 YAML使用空格缩进描述嵌套的集合 "symfony 1.0": PHP: 5.0...Propel' => 1.3, ), ); 需要注意的是,在YAML文件中,必须使用一个或者多个空格进行缩进,而不能使用TAB制表符。

3K40

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

小编典典 _而%不是通配符在MySQL一般,而且不应该被转义,将它们放入普通的字符串字面量的目的。mysql_real_escape_string是正确的,足以满足此目的。...在此方案中,_并且%是特殊的,必须进行转义转义字符也必须转义。根据ANSI SQL,除这些字符外, 不得 转义:\’这是错误的。(尽管MySQL通常会让您摆脱它。)...这里引起混乱的问题是,在MySQL中,两个嵌套转义步骤都使用斜杠作为转义字符!因此,如果要将字符串与文字百分号匹配,则必须双斜杠转义并说出LIKE ‘something\\%’。...或者,如果在PHP “文字中也使用斜杠转义,则”LIKE ‘something\\\\%'”。啊!...根据ANSI SQL,这是不正确的,它表示:在字符串文字中,斜杠表示文字斜杠,而转义单引号的方式为”;在LIKE表达式中,默认情况下根本没有转义符。

5K20

渗透专题丨web Top10 漏洞简述(2)

/my.ini//Mysql 配置C:/Program Files/mysql/data/mysql/user.MYD//Mysql rootC:/Windows/php.ini//php 配置信息C:...) 当一个命令被解析时,它首先会执行引号之间的操作。...然后再将它传递给 echo,并将 ls 的输出结果打印在屏幕上,这被称为命令替换例如:echo(引号)whoami(引号)• $ 这是命令替换的不同符号。当引号被过滤或编码时,可能会更有效。...• 使用 escapeshellarg 函数处理相关参数,escapeshellarg 函数会将用户引起参数或命令结束的字符进行转义,如单引号“’”会被转义为“’”,双引号“"”会被转义为“"”,分号“...>jsonp 劫持代码当用户访问这个页面时,会自动把接口 user.php 的敏感信息发送到远程服务器上,如果获取到信息就会在远程服务器上生成 json.txt。

32330
领券