2015-03-13 39 views

回答

3

這是因爲您依賴於流量控制的POST變量的原始值(即決定執行哪個代碼)。這是一種風險(所有這一切都很低),因爲攻擊者可能會強制您的代碼自行執行代碼或以您未曾預料的方式執行代碼。

很難知道這是否對您來說確實是一個問題,因爲您無法看到整個代碼在這裏工作,只有您能確定地知道。這不是你需要改變或修復的東西,只是需要注意的事情。

0

在第一個代碼中,您需要檢查索引中是否存在$ _POST數據,然後再訪問它。

if (empty($_POST['maintDetail'])) 
    return; 
$myVar = $_POST['mainDetails'];//safe! 

對於您發佈的第二個代碼塊,我不確定。對我來說看起來很好。雖然你應該檢查!empty如果你想有明確的內容那裏作爲一個空字符串將在技術上設置。如果你想了解更多關於這方面的信息,請看this page

+0

我會嘗試這個解決方案,並返回給您輸出 – 2015-03-13 10:23:21

+0

@bulk我將使用filter_var內置函數來清理我的post變量。 – 2015-03-13 10:24:04