我正在開發一個項目,很多變量需要包含特殊字符,例如{} []。'「!?/ \ = + - 還有更多最安全的方法通過這些變量來回SQL,PHP和輸出之間,我怎麼能防止變量與我的代碼干擾即:??使用包含特殊字符的變量
<?php
echo $var;
echo '$var';
echo "$var";
?>
我正在開發一個項目,很多變量需要包含特殊字符,例如{} []。'「!?/ \ = + - 還有更多最安全的方法通過這些變量來回SQL,PHP和輸出之間,我怎麼能防止變量與我的代碼干擾即:??使用包含特殊字符的變量
<?php
echo $var;
echo '$var';
echo "$var";
?>
最好的辦法是一旦提供數據就對網址進行網址編碼。然後存儲它,當你使用它時,urldecode它。
喜歡的東西
string urlencode (string $str)
編碼和
string urldecode (string $str)
進行解碼。這將您的「特殊」字符更改爲安全字符。
在PHP中名稱的變量不能包含特殊字符的 (除了最初的美元符號$
和下劃線_
)。值的變量可以包含任何你想要的東西,只要你遵循規則定義PHP字符串。
變量值不會干擾您的代碼。如果您擔心它干擾您的輸出HTML,請使用htmlspecialchars
作爲Rocket Hazmat在評論中提出的建議。
可以使用PDO/MYSQL
的數據isnerting到數據庫..
對於轉換成的HTML實體,你可以使用htmlchars()功能。
使用準備好的語句(使用PDO/MySQLi)插入到數據庫中。回聲時使用'htmlspecialchars'。 –
你的變量** NAMES **將會像'$ foo {}!blah'一樣?如果是這樣,你的代碼真的需要扔進垃圾箱。變量名永遠不會動態生成到它們包含垃圾的地方。 –
NAMES不會那樣,只包含其中的數據。對不起,如果我不夠清楚。 – user2464339