千家信息网

php中有哪些mysql转义函数

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章给大家分享的是有关php中有哪些mysql转义函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php mysql转义函数有:1、addslashes函数;2、ht
千家信息网最后更新 2024年11月23日php中有哪些mysql转义函数

这篇文章给大家分享的是有关php中有哪些mysql转义函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

php mysql转义函数有:1、addslashes函数;2、htmlspecialchars函数;3、htmlentities函数;4、mysql_real_escape_string函数等等。

本文操作环境:Windows7系统、PHP7.1版,Dell G3电脑

php mysql转义函数有哪些?

php mysql 转义函数

在开发sql查询小工具时,遇到了POST 提交sql语句去后台查询数据时,后端接受到带有 < 或 > 时的sql语句时,报语法错误。

但是把提交的语句打印出来,又没有问题。想想肯定是编码 或转义 问题所至。

$sqlQuery = html_entity_decode($_POST["content"]);$sqlQuery = stripslashes($sqlQuery);[object Object]

下面主要介绍了PHP中常用的转义函数、安全函数,使用这些函数可以过滤大部份常见的攻击手段,如SQL注入,需要的朋友可以参考下

1. addslashes addslashes对SQL语句中的特殊字符进行转义操作,包括('), ("), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string函数用来转义SQL。 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes操作,所以不需要在这些变量上重复调用addslashes,否则会double escaping的。不过magic_quotes_gpc在PHP5.3就已经被废弃,从PHP5.4开始就已经被移除了,如果使用PHP最新版本可以不用担心这个问题。stripslashes为addslashes的unescape函数。

2. htmlspecialchars htmlspecialchars把HTML中的几个特殊字符转义成HTML Entity(格式:&xxxx;)形式,包括(&),('),("),()五个字符。

& (AND) => &" (双引号) => " (当ENT_NOQUOTES没有设置的时候)' (单引号) => ' (当ENT_QUOTES设置)< (小于号) => <> (大于号) => >

htmlspecialchars可以用来过滤$GET,$POST,$COOKIE数据,预防XSS。注意htmlspecialchars函数只是把认为有安全隐患的HTML字符进行转义,如果想要把HTML所有可以转义的字符都进行转义的话请使用htmlentities。htmlspecialchars_decode为htmlspecialchars的decode函数。

3. htmlentities

htmlentities把HTML中可以转义的内容转义成HTML Entity。html_entity_decode为htmlentities的decode函数。

4. mysql_real_escape_string

mysql_real_escape_string会调用MySQL的库函数mysql_real_escape_string,对(\x00), (\n), (\r), (), ('), (\x1a)进行转义,即在前面添加反斜杠(),预防SQL注入。注意你不需要在读取数据库数据的时候调用stripslashes来进行unescape,因为这些反斜杠是在数据库执行SQL的时候添加的,当把数据写入到数据库的时候反斜杠会被移除,所以写入到数据库的内容就是原始数据,并不会在前面多了反斜杠。

5. strip_tagsstrip_tags会过滤掉NUL,HTML和PHP的标签。

6.stripslashes()

函数删除由 addslashes() 函数添加的反斜杠。

7. 结语PHP自带的安全函数并不能完全避免XSS,推荐使用HTML Purifier

感谢各位的阅读!关于"php中有哪些mysql转义函数"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

函数 转义 数据 字符 斜杠 时候 内容 数据库 语句 安全 问题 特殊 引号 是在 更多 篇文章 参考 推荐 查询 不错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 asu数据库包括nature吗 郴州电子软件开发学校费用 四川省护理质量指标数据库 spi数据库怎么重装 软件开发合同中的技术目标 粤苗服务器发生错误 冬奥会期间网络安全保障通知 河南品质软件开发服务应用 网易电脑版官方服务器 后来的我们票房数据库最新 数据库连接池的源码 天津市完美互联网络技术咨询 河北星橙网络技术有限公司怎么样 软件开发都在什么地方上班 计算机数据库和报表 四川hp服务器维修续保 服务器和数据库技术架构设计 mw326r路由器DNS服务器 美国主流媒体有哪些数据库 软件开发管理程序 服务器安全威胁有哪些 sqlapic怎么连接数据库 软件开发服务科目 闵行区海航软件开发哪家好 上海图书馆-家谱数据库 steam无法在安全服务器 2021网络安全宣 华为服务器安装win10系统 如何免费获取数据库图表 我的世界服务器生存怎样传送别人
0