使用location指令
#使用Nginx設定檔中的location指令,可以限制對特定目錄或文件的存取。要禁止存取.php文件,可以在location指令中加入下述代碼
location ~ \.php$ { deny all; }
上述程式碼中,\表示轉義字符,.表示任意字符,$表示結尾。因而,這段程式碼的作用是利用正規表示式來匹配所有以.php為結尾的文件,然後禁止其被存取。
需要注意的是,該方法僅適用於禁止php檔案的訪問,對其他類型的檔案無效。
使用if指令
#禁止存取.php檔案的方法不只可以使用location指令,還可以使用if指令。在Nginx的設定檔中,可以加入以下程式碼:
if ($request_uri ~* “\.php”) { return 403; }
上述程式碼的意思是,當請求的URI中包含.php時,回傳403(拒絕存取)。
然而,使用if指令也存在一些風險,可能會導致安全漏洞。因此,建議僅在必要情況下使用if指令。
修改PHP解釋器的設定檔
#除了在Nginx的設定檔中禁止存取.php檔案外,我們也可以透過修改PHP解釋器的設定檔來達到相同的效果。
在PHP解釋器的設定檔php.ini中,可以加入以下程式碼:
security.limit_extensions = .php
這段程式碼的作用是限制只有.php檔案能被執行,其他類型的檔案將被禁止執行。透過這種方法,可以避免不必要的安全風險。
要注意的是,此方法僅適用於禁止執行php文件,對存取.php文件無效。
以上是Nginx怎麼禁止存取.php文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!