PHP addslashes 函數替字符增加斜線

PHP addslashes 函數的功能是替字串的特殊字符增加反斜線效果,會有這樣的需求主要在於部份的特殊符號會造成資料庫的錯誤或資料被竊取,所謂的 sql injection 這種攻擊手法就會用一些特殊符號來偷撈資料,所以一般會用 PHP addslashes 函數來協助避免,當字串中含有單引號、雙引號、反斜線或 NULL 字符的時候,addslashes 函數可以在這些特殊符號前面自動加上反斜線,讓特殊符號跳脫掉,等於是失效,這是非常基本也非常重要的 PHP 安全概念,接著我們就來看看這個 addslashes 函數該如何使用。

PHP addslashes 函數基本語法
String addslashes( $string )
PHP addslashes 僅有一個參數可以使用,$string 就是原始字串,必填項目,只要把原始字串放到 addslashes 函數內,就可以讓函數自動判斷是否含有單引號、雙引號、反斜線或 NULL 這些特殊字符,如果有的話就替它們加上反斜線並回傳一個新的字串,如果都沒有找到這些特殊字符,就回傳原始字串,使用方式相當簡單,請看我們的實際操作範例。

PHP addslashes 函數的應用範例
<?php
$mystring="I love BMW's performance.";

echo $mystring;
echo '<br>';
echo addslashes($mystring);
?>
範例的輸出結果
I love BMW's performance.
I love BMW\'s performance.
我們在範例中準備了一個原始字串 $mystring,其中包含了一個單引號,接著我們用 echo 毫無修飾的將此原始字串輸出來,很清楚的看到範例的輸出結果,整個字串就與原始字串完全相同,接著我們用 PHP addslashes 函數稍微處裡一下這個原始字串再用 echo 輸出一次,結果那個單引號前面被加上反斜線了,這就是 PHP addslashes 函數的基本功能。

補充,與 addslashes 函數相對的是用來移除反協線的 stripslashes 函數

延伸閱讀
© Copyright webtech.tw Since 2010