Unix
使用來自 CGI 的 unix ‘mail’ 命令 - 危險嗎?
我正在向網頁添加回饋表,並想知道通過“郵件”命令簡單地過濾 TEXTAREA 元素的內容(解碼後)以向頁面的維護者發送電子郵件是否安全。
我查看了手冊頁,看不到濫用它的方法,特別是只要“郵件”不在互動模式下執行,波浪號轉義被禁用,“。” 單獨一行不會終止消息正文。
但是我還應該注意其他危險嗎?
該命令類似於:
echo "$MESSAGE_BODY" | mail webmaster@mydomain.com -s 'Website feedback'
不要使用郵件,這是一個面向行的最終使用者程序。使用大多數 MTA 中包含的“sendmail”命令(但不要使用那段被詛咒的 shblip,即 sendmail 程序)。它旨在以程式方式使用。例如,我知道 postfix 和 qmail 包含它。
cat mailmessage.txt | sendmail -ffrom@yourhost recipient@theirhost
附錄:只要您知道自己在做什麼,從 CGI 呼叫程序不一定“危險”。特別是,就像在這種情況下一樣,確保您呼叫的程序不是為最終使用者準備的,或者不是在互動模式下呼叫的(大多數這樣的程序都允許生成一個 shell!)