中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么快速理解PHP過濾器

發布時間:2021-11-01 11:22:08 來源:億速云 閱讀:96 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么快速理解PHP過濾器”,在日常操作中,相信很多人在怎么快速理解PHP過濾器問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么快速理解PHP過濾器”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

怎么快速理解PHP過濾器

PHP過濾器

什么是過濾器,可以先把過濾器簡單的理解為過濾掉不安全的數據。那我們為什么要使用過了不起呢?在我們的日常開發中幾乎所有的Web應用程序都會依賴外部的輸入,這些數據通常都是來自類似Web服務的其他應用程序或者來自用戶。我們通過過濾器的使用能夠確保應用程序能夠獲得正確的輸入類型。

我們應該對像來自表單的輸入數據、Cookies、服務器變量和數據庫查詢結果等這樣的外部數據進行過濾,對輸入進行過濾是很重要的,因此我們需要使用過濾器。

PHP過濾器是用于驗證和過濾來自非安全來源的數據,是測試、驗證和過濾用戶輸入或者自定義數據時任何Web應用程序的重要組成部分,它的設計目的就是為了是數據處理更輕松快捷。

函數和過濾器

當我們需要過濾變量的時候,可以使用很多過濾函數:filter_var() 通過一個指定的過濾器來過濾單一的變量;filter_var_array() 通過相同的或不同的過濾器來過濾多個變量;filter_input獲取一個輸入變量,并對它進行過濾;filter_input_array獲取多個輸入變量,并通過相同的或不同的過濾器對它們進行過濾。

接下來我們通過一個示例來看一下通過filter_var() 函數驗證了一個整數,示例如下:

<?php
header("Content-type:text/html;charset=utf-8");
$int = 123;
if(!filter_var($int, FILTER_VALIDATE_INT))
{
    echo("不是一個合法的整數");
}
else
{
    echo("是個合法的整數");
}
?>

輸出結果:

怎么快速理解PHP過濾器

上述示例便是通過filter_var() 過濾函數來驗證了一個整數,接下來看一下我們常用的兩種過濾器。

  • Validating 過濾器:用于驗證用戶輸入,有著嚴格的格式規則(比如 URL 或 E-Mail 驗證),如果成功則返回預期的類型,如果失敗則返回 FALSE。

  • Sanitizing 過濾器:用于允許或禁止字符串中指定的字符,無數據格式規則,始終返回字符串。

選項和標志

選項和標志用于向指定的過濾器添加額外的過濾選項。不同的過濾器有不同的選項和標志。

接下來我們通過示例來看一下用 filter_var() "min_range" 以及 "max_range" 選項驗證了一個整數,示例如下:

<?php
header("Content-type:text/html;charset=utf-8");
$var=300;
$int_options = array(
    "options"=>array
    (
        "min_range"=>0,   //最小值
        "max_range"=>256  //最大值
    )
);
if(!filter_var($var, FILTER_VALIDATE_INT, $int_options))
{
    echo("不是一個合法的整數");
}
else
{
    echo("是個合法的整數");
}
?>

輸出結果:

怎么快速理解PHP過濾器

在上述示例中,需要注意的是:就像上面的代碼一樣,選項必須放入一個名為 "options" 的相關數組中。如果使用標志,則不需在數組內。由于整數是 "300",它不在指定的范圍內,所以輸出結果如上。

驗證輸入

接下來讓我們試著驗證來自表單的輸入。我們需要做的第一件事情是確認是否存在我們正在查找的輸入數據。然后我們用 filter_input() 函數過濾輸入的數據。

接下來我們通過示例來看一下以GET的方式輸入變量 "email" 被傳到 PHP 頁面,示例如下:

<?php
header("Content-type:text/html;charset=utf-8");
if(!filter_has_var(INPUT_GET, "email"))
{
    echo("沒有 email 參數");
}
else
{
    if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
    {
        echo "不是一個合法的 E-Mail";
    }
    else
    {
        echo "是一個合法的 E-Mail";
    }
}
?>

輸出結果:

怎么快速理解PHP過濾器

其中我們需要注意的是:上面的實例有一個通過 "GET" 方法傳送的輸入變量 (email),檢測是否存在 "GET" 類型的 "email" 輸入變量,如果存在輸入變量,檢測它是否是有效的 e-mail 地址。

凈化輸入

讓我們試著清理一下從表單傳來的 URL。首先,我們要確認是否存在我們正在查找的輸入數據。然后,我們用 filter_input() 函數來凈化輸入數據。

下面我們通過示例來看一下輸入變量 "url" 被傳到 PHP 頁面,示例如下:

<?php
header("Content-type:text/html;charset=utf-8");
if(!filter_has_var(INPUT_GET, "url"))
{
    echo("沒有 url 參數");
}
else
{
    $url = filter_input(INPUT_GET,
        "url", FILTER_SANITIZE_URL);
    echo $url;
}
?>

輸出結果:

怎么快速理解PHP過濾器

其中我們需要注意的是:

FILTER_SANITIZE_URL 過濾器刪除字符串中所有非法的 URL 字符。上面的實例有一個通過 "GET" 方法傳送的輸入變量 (url):檢測是否存在 "GET" 類型的 "url" 輸入變量,如果存在此輸入變量,對其進行凈化(刪除非法字符),并將其存儲在 $url 變量中。

到此,關于“怎么快速理解PHP過濾器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

吉隆县| 雷州市| 手游| 长沙县| 河源市| 腾冲县| 达尔| 周口市| 石台县| 晋中市| 财经| 璧山县| 乾安县| 延长县| 高邮市| 黑水县| 昭通市| 闵行区| 芦溪县| 方城县| 卢氏县| 肇庆市| 浠水县| 灵璧县| 墨江| 崇礼县| 汉阴县| 晴隆县| 东兴市| 平凉市| 那曲县| 龙岩市| 四子王旗| 景谷| 深圳市| 藁城市| 彩票| 通州市| 察隅县| 朝阳区| 沅陵县|