簡體   English   中英

具有無效過濾器的filter_input

[英]filter_input with invalid filter

我剛剛在我們的代碼庫中遇到了以下片段:

$token = filter_input(INPUT_GET, 'token', FILTER_VALIDATE_STRING);
if ($token === false || $token === null) {
    die('invalid token');
}

FILTER_VALIDATE_STRING不是有效的過濾器類型。 這是否意味着由於FILTER_DEFAULT了無法識別的過濾器而將其恢復為FILTER_DEFAULT

您將收到一條警告,指出正在使用未定義的常量,PHP會繼續將其轉換為字符串文字。 最好的辦法是使用文檔中定義的常量。

所有GET和POST變量都是字符串,並且您已經注意到FILTER_VALIDATE_STRING不是定義的常量。 如果啟用錯誤報告,您將看到:

注意:使用未定義的常量FILTER_VALIDATE_STRING-假定為'FILTER_VALIDATE_STRING'

警告:filter_input()期望參數3長,並給出字符串

因此filter_input()將返回NULL ,就像未傳遞必需參數的任何其他函數一樣。

假設撰寫此內容的人也未定義FILTER_VALIDATE_STRING

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM