首页 > 编程语言 >php htmlspecialchars()、htmlentities()、addslashes() 的区别

php htmlspecialchars()、htmlentities()、addslashes() 的区别

时间:2024-08-31 22:04:23浏览次数:8  
标签:echo addslashes 转义 QUOTES htmlentities str htmlspecialchars php

1 差别

htmlspecialchars()和htmlentities()唯一的差别是对于不认识的编码是否转义。

比如,对于西欧编码ISO-8859-1来说,中文字符是“不认识的编码

 

2 举个例子说明差别

2.1 转义 不认识的编码 有差别

$str = '中文字符';

echo " \n htmlentities会转义:—— \n";
echo htmlentities($str, ENT_QUOTES, 'ISO-8859-1');//ISO-8859-1     ISO8859-1     西欧,Latin-1 

echo " \n htmlspecialchars不会转义,原样输出:—— \n";
echo htmlspecialchars($str, ENT_QUOTES, 'ISO-8859-1');

 

 

2.2  转义html 无差别

//转义html
$str = "< ' \" > \n";

echo " \n htmlentities 转义html:—— \n";
echo htmlentities($str, ENT_QUOTES);

echo " \n htmlspecialchars 转义html:—— \n";
echo htmlspecialchars($str, ENT_QUOTES);

 

2.3 转义sql注入使用addslashes()

$str = "< ' \" > null 中文 <?php ?> bb' or 1='1' & \n";

echo " \n htmlentities 转义sql注入:—— \n";
echo htmlentities($str, ENT_QUOTES);

echo " \n htmlspecialchars 转义sql注入:—— \n";
echo htmlspecialchars($str, ENT_QUOTES);

echo " \n addslashes 转义sql注入:—— \n";
echo addslashes($str);

 

标签:echo,addslashes,转义,QUOTES,htmlentities,str,htmlspecialchars,php
From: https://www.cnblogs.com/polax/p/18390837

相关文章

  • ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞(5-rce)
    漏洞原理该漏洞存在两种利用方式控制器名未过滤导致rce该漏洞出现的原因在于ThinkPHP5框架底层对控制器名过滤不严,从而让攻击者可以通过url调用到ThinkPHP框架内部的敏感函数,进而导致getshell漏洞核心类Request远程代码执行filter[]为回调函数,get[]或route[]或server[R......
  • (免费源码)计算机毕业设计必看必学 SSM大学生实习就业推荐系统68986 原创定制程序 java
    SSM大学生实习就业推荐系统 摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于角度存在偏差,人们经常能够获取不同类型的信息,这也是技术最为难以攻克的课题。针对大学生实习就业推荐系统等问题,对大学生实习就业推荐系统进行研究......
  • 微信小程序+php后台服务器实现登录流程实例说明(转)
    下面就对PHP后台实现微信小程序登录进行详细讲解。一、获取微信小程序登录凭证小程序登录流程中,首先需要通过微信小程序接口获取登录凭证(code)。我们需要在小程序端调用微信提供的wx.login()函数,该函数返回用户登录凭证code。例如:wx.login({success:function(res){......
  • PHP数据类型
    PHP变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。PHP支持以下几种数据类型:String(字符串)Integer(整型)Float(浮点型)Boolean(布尔型)Array(数组)Object(对象)NULL(空值)Resource(资源类型)字符串一个字符串是一串字符的序列,就像"Helloworld!"。你可以将任何文本......
  • PHP条件语句
    咱们在编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。在PHP中,提供了下列条件语句:if语句-在条件成立时执行代码if...else语句-在条件成立时执行一块代码,条件不成立时执行另一块代码if...elseif....else语句-在若干条......
  • PHP运算符
    PHP中,赋值运算符=用于给变量赋值。在PHP中,算术运算符+用于把值加在一起。算术运算符';//换行echo($x-$y);//输出4echo'';//换行echo($x*$y);//输出60echo'';//换行echo($x/$y);//输出1.6666666666667echo'';//换行echo($x%$y);//......
  • PHP循环
    循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。在PHP中,提供了下列循环语句:while-只要指定的条件成立,则循环执行代码块do...while-首先执行一次代码块,然后在指定的条件成立时重复这个循环for-循环执行代码块指定的次数foreach-根据数组中每个元素......
  • PHP数组
    数组能够在单个变量中存储多个值数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。创建数组在PHP中,array()函数用于创建数组:在PHP中,有三种类型的数组:数值数组-带有数字ID键的数组关联数组-带有指定的键的数组,每个键关联一个值多维数组-包含一个......
  • PHP类型比较
    虽然PHP是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对PHP变量进行比较,包含松散和严格比较。松散比较:使用两个等号==比较,只比较值,不比较类型。严格比较:用三个等号===比较,除了比较值,也比较类型。例如,"42"是一个字符串而42是一个整数。FALSE是一......
  • PHP函数
    创建PHP函数函数是通过调用函数来执行的。函数准则:函数的名称应该提示出它的功能函数名称以字母或下划线开头(不能以数字开头)函数-添加参数为了给函数添加更多的功能,我们可以添加参数,参数类似变量。参数就在函数名称后面的一个括号内指定。";}echo"Mynameis";wr......