2013-02-06 119 views
1

波浪號文件出於某種原因,我無法弄清楚如何阻止訪問得到後直接PHP如何阻止訪問PHP在nginx的

php~ 

改名爲PHP波浪與波浪符號備份PHP文件上面的例子 我嘗試了一些變化,似乎無法解決,並且無法在網上找到答案。

location ~ /\.php~ { 
     deny all; 
} 

這不起作用....任何人都可以告訴我我怎麼能做到這一點? 如果你導航到這些文件之一,它會下載它..

回答

1

你有一個固定的位置設置。 /.php~,這意味着您的網站根目錄中只有一個.php文件。嘗試:

location ~ \.php~$ 

代替,which'll查找以.php~結尾的任何文件。

+0

你是不是指'位置〜\ .php〜$'我同意w /固定的位置問題,但是想知道是否結尾〜也導致問題。正如你現在寫的那樣,結尾〜沒有被檢查。 –

+0

我做了狀態我嘗試了一些變化,我正在測試文檔根目錄。 我似乎無法得到它的工作,並且此解決方案也無法正常工作。 –

+0

@ michael:woops。謝謝...錯字。 –

0

馬克·B是正確的,這是爲我工作:

location ~ \.php~$ 
{ 
    deny all; 
} 

只要我在服務器塊這樣的末尾添加:

server 
{ 
    listen   80 default_server; 

    index   index.html; 
    root   /var/www/default; 

    [... other stuff ...] 

    location ~ \.php~$ 
    { 
     deny all; 
    } 

} 

如果有其他規則匹配後,它會匹配他們..