当前位置:Gxlcms > PHP教程 > phpdaddslashes()和saddslashes()有哪些区别分析_PHP教程

phpdaddslashes()和saddslashes()有哪些区别分析_PHP教程

时间:2021-07-01 10:21:17 帮助过:10人阅读

//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击
$_GET = saddslashes($_GET);
$_POST = saddslashes($_POST);
代码如下:
  1. <br>下面是daddslashes()和 saddslashes()的例子eg: saddslashes function daddslashes($string, $force = 0, $strip = FALSE) { <br>//字符串或数组 是否强制 是否去除 <br>//如果魔术引用未开启 或 $force不为0 <br>if(!MAGIC_QUOTES_GPC || $force) { <br>if(is_array($string)) { //如果其为一个数组则循环执行此函数 <br>foreach($string as $key => $val) { <br>$string[$key] = daddslashes($val, $force); <br>} <br>} else { <br>//如果魔术引用开启或$force为0 <br>//下面是一个三元操作符,如果$strip为true则执行stripslashes去掉反斜线字符,再执行addslashes <br>//$strip为true的,也就是先去掉反斜线字符再进行转义的为$_GET,$_POST,$_COOKIE和$_REQUEST $_REQUEST数组包含了前三个数组的值 <br>//这里为什么要将$string先去掉反斜线再进行转义呢,因为有的时候$string有可能有两个反斜线,stripslashes是将多余的反斜线过滤掉 <br>  $string = addslashes($strip ? stripslashes($string) : $string); <br>} <br>} <br>return $string; <br>}eg: saddslashes function saddslashes($string) { if(!MAGIC_QUOTES_GPC){ <br>if(is_array($string)) { //如果转义的是数组则对数组中的value进行递归转义 <br>    foreach($string as $key => $val) { <br>      $string[$key] = saddslashes($val); <br>      } <br>} else { <br>    $string = addslashes($string); //对单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符),进行转义 <br>} <br>return $string; <br>}else{ <br>return $string; <br>} <br> <br>主要就是: <br>saddslashes可以实现对每一个数据进行转义处理了 <br><span style="CURSOR: pointer" onclick="doCopy('code46953')"><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>function saddslashes($string) { <br>if(is_array($string)) { <br>foreach($string as $key => $val) { <br>$string[$key] = saddslashes($val); <br>} <br>} else { <br>$string = addslashes($string); <br>} <br>return $string; <br>} <br> <p></p></li><li><p></p></li><li><p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/326187.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/326187.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击 $_GET = saddslashes($_GET); $_POST = saddslashes($_POST); 代码如下:</span></p><pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>下...<p></p></li><li> </li></ol></pre></li></ol></pre>

人气教程排行