php接收get数组数据,来自HTTP的PHP注入GET数据用作PHP数组键值
我想知道在以下場景中是否存在可能的代碼注入(或任何其他安全風險,如讀取您不應該使用的內存塊等等),其中來自HTTP GET的未經過處理的數據用于代碼中
PHP作為數組的鍵.
這應該將字母轉換為字母順序. a到1,b到2,c到3 …. HTTP GET“字母”變量應該有值字母,但是你可以理解任何東西都可以發送到服務器:
HTML:
http://www.example.com/index.php?letter=[anything in here, as dirty it can gets]
PHP:
$dirty_data = $_GET['letter'];
echo "Your letter's order in alphabet is:".Letter2Number($dirty_data);
function Letter2Number($my_array_key)
{
$alphabet = array("a" => "1", "b" => "2", "c" => "3");
// And now we will eventually use HTTP GET unsanitized data
// as a KEY for a PHP array... Yikes!
return $alphabet[$my_array_key];
}
問題:
>您是否看到任何安全風險?
>如何清理HTTP數據以便能夠在代碼中將它們用作數組的KEY?
>這種做法有多糟糕?
總結
以上是生活随笔為你收集整理的php接收get数组数据,来自HTTP的PHP注入GET数据用作PHP数组键值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现汉字字典
- 下一篇: node php聊天室,最简单的Node