假設我有一個文本文件。它包含 「有害的:」 這樣的代碼:php變量可以安全地保存有害代碼嗎?
<?php phpinfo(); ?>
,也可能是別的,SQL注入代碼,HTML鏈接等..
現在,這裏是我的示例腳本:
$content = file_get_contents('harmfullcode.txt');
現在顯然$ content變量將存儲有害代碼。
我的問題是,將這些信息存儲在變量中是否安全?
我知道,例如,如果我
echo $content;
那麼這將是有害的:。
但是,如果我不對變量做任何事情,變量是否可以保存任何類型的有害代碼?
編輯,以使其更清晰:
是什麼這之間的區別?
$content = file_get_contents('harmfullcode.txt');
$safevar = removebadstuff($content);
echo $safevar;
VS
$content = removebadstuff(file_get_contents('harmfullcode.txt'));
echo $content;
第二個例子將其分配給$內容之前將不好的東西...?我對PHP安全性很陌生,試圖理解這個概念。謝謝。
如果沒有輸出或進一步處理該變量,就是爲什麼你在第一時間讀它的問題嗎?我假設你*正在處理這個變量,並且像'echo'一樣,*類型的處理*是知道回答你的問題所必需的。這個變量會發生什麼?知道只有兩種情況沒有發生,但知道發生的情況並不那麼有趣。 – hakre
我編輯過,以使其更清晰。 – user1760417
'removebadstuff'函數保持未定義狀態。它沒有顯示你實際上對數據做了什麼。通常情況下,當* output *時數據被正確編碼,因爲有不同種類的輸出。如果你癱瘓了數據(「刪除不好的東西」),那麼你犯錯的可能性很高。 – hakre