我正在使用 php 記錄我的網(wǎng)站訪(fǎng)問(wèn)者的 IP 地址以及一些其他信息 ($content),以便我可以計(jì)算訪(fǎng)問(wèn)者的數(shù)量。我正在使用以下代碼:<?phppublic static function logContent(array $content = null){ try { $myFile = fopen("visitors.txt", "a"); $txt = "IP: "; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipAddress = $_SERVER['HTTP_CLIENT_IP']; else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipAddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if (isset($_SERVER['HTTP_X_FORWARDED'])) $ipAddress = $_SERVER['HTTP_X_FORWARDED']; else if (isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipAddress = $_SERVER['HTTP_FORWARDED_FOR']; else if (isset($_SERVER['HTTP_FORWARDED'])) $ipAddress = $_SERVER['HTTP_FORWARDED']; else if (isset($_SERVER['REMOTE_ADDR'])) $ipAddress = $_SERVER['REMOTE_ADDR']; else $ipAddress = 'UNKNOWN'; $txt .= $ipAddress; $txt .= " Time: " . date("Y-m-d h:i:s", time()); $txt .= "\n"; if (!empty($content) && is_array($content)) { foreach ($content as $k => $v) { $txt .= "$k : "; $txt .= $v; $txt .= "\n"; } $txt .= "\n"; } fwrite($myFile, $txt); fclose($myFile); } catch (\Exception $e) { } }?>這段代碼工作正常。通常,我有如下條目:IP: 36.80.227.XX Time: 2020-06-19 08:23:52IP: 191.252.61.XX Time: 2020-06-19 11:25:02IP: 191.252.61.XX Time: 2020-06-19 11:25:02這是類(lèi)似于針對(duì) Java 的 MySQL 注入的某種惡意注入攻擊嗎?我是否需要留意任何可疑情況并修補(bǔ)我的 Apache 服務(wù)器以提高安全性?
1 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
據(jù)我所知, HTTP_X_FORWARDED_FOR 標(biāo)頭是由客戶(hù)端/代理發(fā)送的,您不對(duì) $_SERVER['HTTP_X_FORWARDED_FOR'] 的內(nèi)容進(jìn)行任何控制。
所以是的,有人嘗試過(guò) SQL 注入,但在這種情況下,它不敏感(只是輸出到文本文件中)。在輸出到文件之前,您必須檢查 $ipAddress 的內(nèi)容。
編輯:您可以通過(guò)以下方式重現(xiàn)此行為:
??curl?-H?'X-Forwarded-For:?1.1.1.1'?https://www.example.com/mypage ??curl?-H?'X-Forwarded-For:?<SOME?RANDOM?INPUT>'?https://www.example.com/mypage
希望這有幫助

繁華開(kāi)滿(mǎn)天機(jī)
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
這聽(tīng)起來(lái)像是可能的注入攻擊。雖然這里討論的是 joomla 設(shè)置并且涉及 2015 年,但簽名還是值得一看的。
我可能會(huì)建議檢查日志以查找任何可疑活動(dòng)。
- 1 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報(bào)
0/150
提交
取消