簡體   English   中英

在PHP中驗證變量的最有效方法是什么?

[英]What is the most efficient way to verify Variables in PHP?

我正在考慮一個從用戶那里接收大量數據的應用程序。 但是必須在php中驗證此數據:

fe $ _GET ['id']必須是一個數字,數組的每個元素必須是特定范圍之間的值。

那么像is_int($x)isset($x)這樣的函數效率如何? 也許if($ x!= null)更快或者(int)x導致了相同的結果。

處理需要快速到達數據庫但需要進行驗證的數據的最佳方法是什么? $ _GET和$ _POST的速度是否有差異?

也許實施一個類可以改善某些情況?

也許有一個更具體的答案的機會,這里的代碼效率不高:

if(isset($_GET["x"]) && $_GET["x"] > 0) { $x = $_GET["x"]; }
if(isset($_GET["y"]) && $_GET["y"] > 0) { $y = $_GET["y"]; }
if(isset($_GET["winWidth"]) && $_GET["winWidth"] > 0) {  $winWidth = $_GET["winWidth"]; }
if(isset($_GET["winHeight"]) && $_GET["winHeight"] > 0) {   $winHeight = $_GET["winHeight"]; }
if(isset($_GET["a"])) {  $a = $_GET["a"]; }

更新:

進一步的安全功能如:

mysql_real_escape_string($str);

要么

stripslashes()

請Stackoverflow,告訴我魔術:)

哈利

檢查是否已發布某些內容以及它是否為正整數的最快方法:

if (isset($_POST['field']) && ctype_digit($_POST['field']))

addslashes相比, mysql_real_escape_string非常慢。 但是,它絕對更安全。

但是,通常不必過多地擔心所有這些。 我們在這里談論的是十億分之一秒。

暫無
暫無

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

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