Php
為 php 安全地配置 nginx
我想將 nginx 用於 Symfony2 站點和 phpMyAdmin 等其他軟體。
我已經閱讀了關於設置 Symfony2 的 nginx 文件並遇到了這個問題:http ://www.webhostingtalk.com/showthread.php?p=6807475#post6807475
我可以只使用
security.limit_extensions=php
然後安全地使用這樣的東西嗎?location \.php$ { ... }
此部落格似乎表明這是解決文件上傳安全問題的一種解決方法:http: //kaiwangchen.com/blog/2012/10/understand-the-cgi-fix_pathinfo-security-issue/
但是大多數有設置 nginx 教程的地方都推薦將 php 限制為特定文件的舊解決方案。所以我不確定這是否真的避免了任意程式碼注入。
還是我應該使用
try_files
?
使用 和 的組合,
try_files
只需security.limit_extensions=php
確保您創建的上傳文件夾絕對沒有機會執行任何程式碼。最後一件事是最重要的事情,也是唯一能讓你在這個問題上保持安全的事情,直到時間結束。例子:
/var/www/src -> execute PHP files /var/www/uploads -> only accessible for static delivery