有什麼方法可以「嵌入」腳本來下載/刪除網頁伺服器中的檔案嗎?

有什麼方法可以「嵌入」腳本來下載/刪除網頁伺服器中的檔案嗎?

我需要讓伺服器以這種方式工作:

檢查請求的檔案本機是否存在。

  • 如果有,請立即上菜
  • 如果沒有,則將 REQUEST_URI 傳遞給將下載它的腳本
  • 如果檔案有?delete=1,則呼叫腳本將其刪除

我已經使用 nginx(使用 404 錯誤處理程序)和 PHP 成功實現了此行為。問題是,要在另一台伺服器上實現此功能,我必須安裝/編譯 nginx 和 php。

我的問題是是否有辦法從堆疊中刪除 php 並放置 nginx(或其他伺服器)來完成這項工作。對我來說,理想的方法是直接從伺服器執行/呼叫 bash 腳本/命令。

有人能指出我正確的方向嗎?

答案1

您想要做的事情可以使用普通的 CGI 和 shell 腳本非常輕鬆地完成。如何啟用/實施 CGI 取決於伺服器。 nginx應該有能力,但我知道 Apache 有能力。請參閱文件或詢問有關在給定 Web 伺服器上啟用 CGI 的具體問題。

簡單的 bash 邏輯來測試檔案是否存在並顯示它:

#!/bin/bash

FILE="/path/to/file"
URI="http://example.com/file"

/bin/echo "Content-type: text/plain"
/bin/echo

if [ -f $FILE ]; then
  /bin/cat $FILE
else
  /usr/bin/wget $URI
fi

您可以解析 ${QUERY_STRING} 來取得刪除操作。我將把完整的解決方案和錯誤處理作為練習留給您。這有點棘手,超出了我們問答格式的範圍。

看:解析 Bash CGI 腳本中的 QUERY_STRING

相關內容