亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP 新手入門之過濾器

1.php ?過濾器

PHP 過濾器用于驗證和過濾來自非安全來源的數(shù)據(jù),比如用戶的輸入。

2.什么是php 過濾器

PHP 過濾器用于驗證和過濾來自非安全來源的數(shù)據(jù)。

測試、驗證和過濾用戶輸入或自定義數(shù)據(jù)是任何 Web 應用程序的重要組成部分。PHP 的過濾器擴展的設計目的是使數(shù)據(jù)過濾更輕松快捷

3.為什么使用過濾器

幾乎所有的 Web 應用程序都依賴外部的輸入。這些數(shù)據(jù)通常來自用戶或其他應用程序(比如 web 服務)。通過使用過濾器,您能夠確保應用程序獲得正確的輸入類型

對外部數(shù)據(jù)進行過濾,會提高安全性,那么有哪些外部數(shù)據(jù)呢?

(1).來自表單的輸入數(shù)據(jù)

(2).Cookies

(3).Web services data

(4).服務器變量

(5).數(shù)據(jù)庫查詢結果

函數(shù)和過濾器

如需過濾變量,請使用下面的過濾器函數(shù)之一:

filter_var() - 通過一個指定的過濾器來過濾單一的變量

filter_var_array() - 通過相同的或不同的過濾器來過濾多個變量

filter_input - 獲取一個輸入變量,并對它進行過濾

filter_input_array - 獲取多個輸入變量,并通過相同的或不同的過 濾器對它們進行過濾

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

注:當我們寫上一個合法的整數(shù),就會輸出是個合法的整數(shù),如果不是則輸出不是合法的整數(shù)

Validating 和 Sanitizing??這是倆種過濾器

Validating 過濾器:

用于驗證用戶輸入

嚴格的格式規(guī)則(比如 URL 或 E-Mail 驗證)

如果成功則返回預期的類型,如果失敗則返回 FALSE

Sanitizing 過濾器:

用于允許或禁止字符串中指定的字符

無數(shù)據(jù)格式規(guī)則

始終返回字符串

選項和標志

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

不同的過濾器有不同的選項和標志

<?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("不是一個合法的整數(shù)");
	}else{
		echo("是個合法的整數(shù)");
	}
?>

注:就像上面的代碼一樣,選項必須放入一個名為 "options" 的相關數(shù)組中。如果使用標志,則不需在數(shù)組內(nèi)。由于整數(shù)是 "300",它不在指定的范圍內(nèi)

驗證輸入

讓我們試著驗證來自表單的輸入。

我們需要做的第一件事情是確認是否存在我們正在查找的輸入數(shù)據(jù)。

然后我們用 filter_input() 函數(shù)過濾輸入的數(shù)據(jù)。

在下面的實例中,輸入變量 "email" 被傳到 PHP 頁面

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

注:當一個表單傳輸過來數(shù)據(jù),首先檢測是否存在get 傳輸過來的數(shù)據(jù)

然后如果有傳輸過來數(shù)據(jù),在判斷是否是一個合法的email?

凈化輸入

讓我們試著清理一下從表單傳來的 URL。

首先,我們要確認是否存在我們正在查找的輸入數(shù)據(jù)。

然后,我們用 filter_input() 函數(shù)來凈化輸入數(shù)據(jù)。

在下面的實例中,輸入變量 "url" 被傳到 PHP 頁面:

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

注:檢測是否存在 "GET" 類型的 "url" 輸入變量。

如果存在此輸入變量,對其進行凈化(刪除非法字符),并將其存儲在 $url 變量中


繼續(xù)學習
||
<?php header("Content-type: text/html; charset=utf-8");//設置編碼 $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)){ echo("不是一個合法的整數(shù)"); }else{ echo("是個合法的整數(shù)"); } ?>
提交重置代碼