一般iis中比較簡單,iis6如下圖所示即可:
在“編輯功能許可權……”中,我們直接去除指令碼的執行許可權即可。(如圖3)
apache中一般是通過.htaccess檔案來限制
Apache環境規則內容如下:Apache執行php指令碼限制 把這些規則添加到.htaccess檔案中
複製代碼 代碼如下:
RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]
以Apache 模組方式運行 PHP,你可以在vhosts設定檔中添加如下代碼:
禁止upload目錄執行php檔案許可權
<Directory /www/www.jb51.net/upload>php_flag engine off</Directory><Directory ~ "^/www/.*/upload"> <Files ~ ".php"> Order allow,deny Deny from all </Files></Directory>
nginx環境規則內容如下:nginx執行php指令碼限制
LNMP有一個缺點就是目錄使用權限設定上不如Apache,有時候網站程式存在上傳漏洞或類似pathinfo的漏洞從而導致被上傳了php木馬,而給網站和伺服器帶來比較大危險。建議將網站目錄的PHP許可權去掉,當訪問上傳目錄下的php檔案時就會返回403錯誤。
首先要編輯nginx的虛擬機器主機配置,在fastcgi的location語句的前面按下面的內容添加:
複製代碼 代碼如下:
location ~ /(data|uploads|templets)/.*\.(php|php5)?$ {
deny all;
}
下面是補充:
以下配置均在nginx配置的server處添加
複製代碼 代碼如下:
location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}
禁止attachments目錄執行php檔案許可權
2、多個目錄
複製代碼 代碼如下:
location ~ /(attachments|upload)/.*\.(php|php5)?$ {
deny all;
}
禁止attachments與upload目錄執行php檔案許可權
配置完後,重新reload nginx即可。
好了就這些吧,做了這些應該不會有什麼問題基本夠用!