11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置

11.28 限定某個目錄禁止解析php
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
例如一些目錄允許上傳圖片,爲防止有人上傳帶有病毒php文件,所以禁止php解析,一般存放靜態的文件上的目錄是不允許解析PHP文件的
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
重新加載配置文件



11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
創建upload目錄,訪問提示403狀態碼
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
在瀏覽器打開是無法打開的,連訪問的機會都沒有
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
將下圖的註釋掉
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
再重新加載後測試,這時候不能解析了,顯示它的源代碼
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
在瀏覽器打開提示下載
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
11.29 限制user_agent
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
重新加載配置文件,curl訪問提示狀態碼是403,就是因爲user_agent是curl 所以無法訪問
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
用curl -A來自定義下user_agent就可以訪問了,狀態碼是200,直接可以訪問
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
查看日誌的user_agent 下圖所示
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
11.30/11.31 php相關配置
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
在下面這個根目錄下創建phpinfo
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
在瀏覽器查看php.ini配置文件的路徑,但是實際上沒有加載
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
沒有加載就需要在源碼包複製一個php.ini進去
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
再重新加載一下配置文件
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
刷新一下瀏覽器就加載了配置文件的路徑
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
這時候就可以去編輯配置文件做一些限制了
vim /usr/local/php7/etc/php.ini
輸入/disable_fu 搜索到的是空的,再加入一些比較危險的函數
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
測試phpinfo的作用打開網可以看到站點的具體內容,如果禁掉就無法打開站 點了
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
所 以這裏就把phpinfo取消,因爲還需要使用它
還需要定義date.timezone,如果不定義這個可以會有一些告緊信息,可以定的上海或重慶都是可以的
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
上面把phpinfo函數禁用了,打開網頁時把錯信息顯示 在頁面上了,這樣容易暴路信息
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
重新加載 配置文件
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
瀏覽器重新刷新一下,沒有錯誤提示了,顯示空白
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
curl -A查看也是沒有任何的輸出 也是白頁,但這不是我們想要的結果 ,因爲不知道什麼問題,不知道發生事
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
這時候就要配置幾個錯誤日誌,方便查找原因
vim /usr/local/php7/etc/php.ini
輸入/log_errors查看是否開啓
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
輸入error_log定義路徑
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
這時候還要定義error_log的級別,如果error_log的級別很高的話,它僅僅會記錄一比較來嚴峻的錯誤
像一些警告的就不會記錄,所在就不知道錯誤在那
輸入/error_reporting 在 生產中我們用E_ALL & E_NOTICE就可以了,這裏用E_ALL
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
加載配置文件測試,在/tmp下生成了php_errors.log日誌文件,並查看它的屬主屬組
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
它的屬主屬組其實是httpd的屬主屬組
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
如果有一天發現錯誤日誌始終沒有寫進定義的錯誤日誌文件裏,那麼你就要查看一下這個定義的文件所在的目錄有沒有寫的權限,這個寫的權限的人就是httpd的啓動用戶,這裏是deamon這個用戶,爲了安全起見也可以在創建touch /tmp/php_erroes.log然後再給它權限chmod 777 /tmp/php_erroes.log
查看下日誌記錄,然後再模擬下訪問,再查看日誌文件,這時候就出現Parse更嚴重的安全級別了
我們在排查錯誤的時候一定要有錯誤日誌,如果沒有是不行的
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
下面介紹open_basedir安全選項
例如一個服務器上跑了N多個站點,有一些站點漏洞很多,結果這個站點被黑了,被人拿到了權限,不斷慘透服務器,就有可能造成其它站點也會被黑了,這個時候增加一個open_basedir就有可能防止其它網站被黑,A網站目錄在A目錄下,B網站目錄在B目錄下,這2個目錄做一個隔離,A網站被黑了也只能看到A目錄,但看不到B目錄,因爲沒有權限進去B目錄,這個就是open_basedir的作用
編輯配置文件,故意把111.com寫錯1111.com
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
測試一下結果 提示狀態碼爲500
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
將1111.com更改成正確的111.com
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
訪問的狀態碼就正確了 200
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
如果這個服務器有N多個站點,都在這個目錄下,更改php.in只針對一個目錄,那麼其它站點都在這個目錄,都可以訪問,更改php.ini文件就不合適了,php.ini是做不到的
這時候需要針對這些站點去做open_basedir,就要到虛擬服務器裏去做限制了
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
/tmp/默認存放臨時文件,如果限制了就無法寫入臨時文件,例如上傳圖片,它會先把圖片放在臨時目錄,再把圖片放到該放的地方,根據不同的虛擬主機限制open_basedir
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置
測試可以訪問
11.28限定某個目錄禁止解析php11.29限制user_agent11.30-31php相關配置




















































































擴展
apache開啓壓縮 http://ask.apelearn.com/question/5528
apache2.2到2.4配置文件變更 http://ask.apelearn.com/question/7292
apache options參數 http://ask.apelearn.com/question/1051
apache禁止trace或track防止xss http://ask.apelearn.com/question/1045
apache 配置https 支持ssl http://ask.apelearn.com/question/1029




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章