Filter php自帶過濾函式
PHP Filter 簡介
PHP 過濾器用於對來自非安全來源的資料(比如使用者輸入)進行驗證和過濾。
是一個很有用的方法,但是自己用的很少.所以專門記錄下.以後可以用
基本知識
INPUT_xxx : 這種表示的是你要校驗的引數是從哪裡獲得的.比如INPUT_GET,那麼方法就會從$_GET中取對應的變數值進行校驗
INPUT_XXX :
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV
INPUT_SESSION (暫不可以用,應該是預定義出來的,我用的是php7.2.4)
INPUT_REQUEST (暫不可以用,應該是預定義出來的,我用的是php7.2.4)
option,注意這個選項只有當對應的校驗規則符合的情況下才會生效,比如min_ranget只會校驗數字
min_range:最小值,包含這個值
max_range:最大值,包含這個值
default:當校驗不通過的時候的預設值
ucwords:返回的校驗之後的值,首字母大寫
filter_has_var(type, variable)檢查是否存在指定輸入型別的變數
案例:判斷$_GET中有沒有name這個變數
if (!filter_has_var(INPUT_GET, 'name')){
throw new Exception('name null');
}
filter_id(filter_name)返回指定過濾器的 ID 號
沒看出有什麼實際的作用.注意這裡的filter_name指的是從filter_list()函式來獲取的過濾器的名稱。
filter_list()返回包含所有得到支援的過濾器的一個數組。
我用php7.2.4獲得下列這些過濾器
int,boolean,float,validate_regexp,validate_domain,validate_url,validate_email,validate_ip,validate_mac
,string,stripped,encoded,special_chars,full_special_chars,unsafe_raw,email,url,number_int,number_float
,magic_quotes,callback
需要特別瞭解的是
FILTER_CALLBACK:通過回撥進行校驗
注意:在實際使用的時候,對應的常量不是直接比如INT,而是需要加上字首,前面都要加上FILTER_.剩下的後面我還沒有找到規律.之後有再補充
filter_input(input_type, variable, filter, options)從外部獲取輸入,並進行過濾
input_type對應上面的INPUT_XXX
filter的可以上面filter_list()瞭解,這個欄位其實就是指明你要校驗時用的規則
校驗郵箱
filter_input_array(input_type, args)從指令碼外部獲取多項輸入,並進行過濾
input_type對應上面的INPUT_XXX
filter_var_array(array, args)獲取多項變數,並進行過濾
和filter_input_array類似,不同就是直接指定要校驗的引數
$arr =[
"name" => "peter griffin",
"age" => "41",
"email" => "[email protected]",
];
filter_var(variable, filter, options)獲取一個變數,並進行過濾
參考
W3cSchool
相關推薦
Filter php自帶過濾函式
PHP Filter 簡介 PHP 過濾器用於對來自非安全來源的資料(比如使用者輸入)進行驗證和過濾。 是一個很有用的方法,但是自己用的很少.所以專門記錄下.以後可以用 基本知識 INPUT_xxx : 這種表示的是你要校驗的引數是從哪裡獲得的.比如INPUT_G
(過濾和轉義)php自帶過濾和轉義函數
code none 解碼 cap har AD 格式 table 若是 函數名 用途 備註 htmlspecialchars 將與&&、單雙引號‘ "、 大於>、小於<轉成html格式 &&->&
使用PHP自帶zlib函式 幾行程式碼實現PHP檔案打包下載zip
<?php //獲取檔案列表 function list_dir($dir){ $result = array(); if (is_dir($dir)){ $file_dir = scandir($dir); foreach($file_dir
介紹幾個PHP 自帶的加密解密函式
PHP 自帶的加密解密函式 目前經常使用的加密函式有:md5(), sha1(), crypt(), base64_encode(), urlencode() 。 其中 md5(), sha1(), c
PHP自帶函式ip、數字互轉
$ip = '42.62.28.108'; $number = ip2long($ip); 將 IP 轉換成整型數字; $newIp = long2ip($number); 將整型數字轉換成IP; echo $number; echo $newIp;
windows下使用php自帶的mail函式實現簡單的郵件傳送例項(QQ親試成功)
問題: 初學php,打算實現一下找回密碼功能。當然這涉及到不少的問題,我直接想到的是怎麼發郵件的問題,這便是今天要解決的問題了。 查資料: 為解決這個問題,到網上查了很多資料,也看到網上有很多相關的資料,可能是由於鄙人比較笨,試了很多前人的方法,也總還是出現這樣那樣的問題,
php 自帶加密、解密函式
php 自帶的加密函式 不可逆的加密函式為:md5()、crypt()md5() 用來計算 MD5 哈稀。語法為:string md5(string str);crypt() 將字串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函式,無法解密。欲比對字串,將已加密的字串的頭二個字元放在 salt
php自帶的幾個防止sql注入的函式規則
SQL注入攻擊是黑客攻擊網站最常用的手段。如果你的站點沒有使用嚴格的使用者輸入檢驗,那麼常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給站點資料庫提交不良的資料或查詢語句來實現,很可能使資料庫中的紀錄遭到暴露,更改或被刪除。 為了防止SQL注入攻擊,PHP自帶一個功能
php自帶壓縮類壓縮文件夾
tac true pre 失敗 osi alert 關閉 自動 對象傳遞 // 壓縮文件夾 function addFileToZip($path,$zip){ $handler=opendir($path); //打開當前文件夾由$path指定。 whi
php自帶的webServer解析時出現 Invalid request (Unexpected EOF)報錯!
因硬體需求原因,不能安裝更多應用,需使用php作為服務,於是利用php自帶的webserver搞了一個簡單的檔案管理指令碼。 啟動php server命令: php -S 127.0.0.1:8088 start.php 執行中發現Linux/Window 7下控制檯都會報 
對Swoole、Workerman和php自帶的socket的理解
開源項目 局限性 ole 來源 worker 建議 般的 detail 管理 為什麽php自帶的socket不怎麽聽說,基本都是用swoole,workerman去實現? 1、PHP的socket擴展是一套socket api,僅此而已。 swoole,用C實現,它的s
Numpy中sum函式的使用方法(Python自帶sum函式)
Numpy中sum函式(Python自帶sum函式)的作用是對元素求和。 無參時,所有全加; axis=0,按列相加; axis=1,按行相加; 下邊通過例子來說明其用法: #!/usr/bin/env python # -*- coding:utf-8 -*-
Java實現MD5演算法過程,並利用自帶MD5函式進行對比校驗
文章目錄 一、環境說明 二、演算法原理概述 三、程式設計 資料結構 重要模組步驟 四、執行結果 一、環境說明 作業系統:window10 程式語言:Java (J
PHP自帶方法驗證郵箱、URL、IP是否合法
以前用PHP驗證郵箱、URL、IP是否合法都是通過自己寫正則來實現,但是有時候腦子發昏,可能會寫出一個不是完全正確的正則,導致驗證出錯,今天發現原來PHP本身自帶了驗證郵箱、URL、IP是否合法的函式。 主要使用的是filter_var函式。 語法 filter_var(variable,
matlab學習-使用自帶的函式
>> %定義矩陣求最大值>> a=[1 7 3;6 2 9];>> A=max(a);>> a a = 1 7 3 6 2 9 >> A A = 6 7 9 >> max的返回值是一
matlab 自帶svmtrain函式返回值求邊界判別條件(不是libsvm)
matlab自帶了一個svmtrain函式,這個函式的返回值,和libsvm裡的函式是不一樣的。這裡主要寫一下如何求 w'x + b = 0 裡面的w和b。示例程式碼: clc; clear; close all; traindata = [0 2
GIS演算法(二)運用C#自帶的函式繪製五角星和多邊形(C#)
前言: 當我們敲下第一行程式碼向計算機世界說一句—–Hello World 我們就打開了一扇通往計算機世界的大門。 計算機的世界總是充滿著未知和挑戰, 當我們的程式碼第一次出現在漆黑的控制檯; 當我們第一次實現和計算機的互動; 當我們第一次完成自己的
C++自帶sort函式對vector容器元素進行排序
1.包含標頭檔案 #include<algorithm>,然後using namespace std; 2.假如你定義的vector變數為vector<Type> num,則如下
sublime text 3 外掛CodeFormatter 的配置以及MAC上升級php自帶版本到php7
最近換工作後改用mac辦公了,剛上手有點不熟悉,開發環境跟windows還是有點差別的,我做php開發用的sublime text 3,這個IDE好處就是炫,舒服,輕便,壞處就是安裝各種各樣的擴充套件,當然換個角度看這也是一大優點吧,更輕量級,按需要再加,所以我
Unity3D中自帶事件函式的執行順序
在Unity3D指令碼中,有幾個Unity3D自帶的事件函式按照預定的順序執行作為指令碼執行。其執行順序如下: 編輯器(Editor) Reset:Reset函式被呼叫來初始化指令碼屬性當指令碼第一次被附到物件上,並且在Reset命令被使用時也會呼叫。 編者注:Reset是