LNMP下防跨站、跨目錄安全設置,僅支持PHP 5.3.3以上版本
LNMP一鍵安裝包下存在跨站和跨目錄的問題,跨站和跨目錄影響同服務器/VPS上的其他網站,最近看PHP 5.3,在5.3.3以上已經增加了HOST配置,可以起到防跨站、跨目錄的問題。
如果你是PHP 5.3.3以上的版本,可以修改/usr/local/php/etc/php.ini在末尾里加入:
[HOST=www.0794baidu.com] open_basedir=/home/wwwroot/www.0794baidu.com/:/tmp/[PATH=/home/wwwroot/www.0794baidu.com] open_basedir=/home/wwwroot/www.0794baidu.com/:/tmp/
按上面的這個例子修改,換成你自己的域名和目錄,多個網站就按上面的例子改成多個,最后重啟php-fpm:/etc/init.d/php-fpm restart
如果讓網站可以使用探針需要在/tmp/后加上:/proc/
PHP 5.3.3以上版本的用戶,(LNMP 1.0以上默認已支持,不需要要替換)可以執行:cd /root;rm -f /root/vhost.sh;wget?http://soft.vpser.net/lnmp/ext/vhost.sh;chmod +x /root/vhost.sh,這樣替換原來的vhost.sh文件,以后添加網站就會自動添加HOST防跨站、跨目錄的配置。
為解決升級PHP 5.3.*版本后部分需要PHP 5.2.*版本的程序無法運行的問題,我們會增加一個PHP 5.2的安裝腳本,腳本將在未來幾天發布。
注意:open_basedir 不是萬能的也不是絕對安全的,會阻止一部分防跨目錄的行為,但是同時也存在很多繞過open_basedir的方法。
>>轉載請注明出處:VPS偵探 本文鏈接地址:http://www.0794baidu.com/security/lnmp-cross-site-corss-dir-security.html










大牛我的網站被掛馬了,最近正愁這事,現在php5.2的有沒有比較簡單一些解決跨站的問題呀。
非常不錯的哦。5.2也應該這樣的哦
感謝軍哥
@super, 這個是LNMP的不是LNMPA的,只要沒注明LNMPA的,都是只針對LNMP的。LNMPA的要修改對應虛擬主機配置文件里的php_admin_value open_basedir
另外不論加不加:/proc/ 該目錄下都可以執行探針。???
老大 lnmpa 升級php到5.3.13 加了上面的目錄代碼
無效啊
還有什么辦法嗎?
@lili, 怎么加,只能說沒沒自己看文章,/proc/ 怎么家的/etc/ 就怎么加
和一樓的同問
php5.3.5添加防止跨目錄后,pureftp管理面板沒法用了,怎么破?
把/etc 加入運行就行了,它讀取系統用戶,請問具體要怎么加,貌似我加了還是不行啊
@Bolo, 把/etc 加入運行就行了,它讀取系統用戶
添加防止跨目錄后,pureftp管理面板沒法用了,怎么破?
@百變劇場, 這個沒有測過,不過php 5.4不管是程序兼容性還是用戶反映看都不好。
php5.4可以用嗎?
自己搞定了。是默認的phpini session.savepath沒有定義,我自己定義到tmp目錄下就可以了。謝謝。
@老魚, phpmyadmin 就只是一個web程序,不調用其他目錄
要不你刪掉phpmyadmin,重新下載一個試試 http://soft.vpser.net/lnmp/lnmp0.9-full/phpmyadmin-latest.tar.gz
@小飛俠, 這個應該沒影響
phpmyadmin 還是沒有搞定,客戶端顯示500錯誤,現在只能用的時候去到basedir,用完了加上去,真是麻煩,網上有人說加:/usr/share/webapps/:/etc/webapps上去,但是我發現沒有這兩個路徑。http://blog.csdn.net/simpman/article/details/5440953