PHP本身再老版本有一些問題
我們php手手工安裝的
(
php的安全模式是個非常重要的內嵌的安全機制
同時把很多文件操作函數進行了權限控制
但是默認的php
safe_mode = on
(
當safe_mode打開時
組的用戶也能夠對文件進行訪問
建議設置為
safe_mode_gid = off
如果不進行設置
對文件進行操作的時候
(
如果安全模式打開了
safe_mode_exec_dir = D:/usr/bin
一般情況下是不需要執行什麼程序的
然後把需要執行的程序拷貝過去
safe_mode_exec_dir = D:/tmp/cmd
但是
safe_mode_exec_dir = D:/usr/www
(
如果要在安全模式下包含某些公共文件
safe_mode_include_dir = D:/usr/www/include/
其實一般php腳本中包含文件都是在程序自己已經寫好了
(
使用open_basedir選項能夠控制PHP腳本只能訪問指定的目錄
不應該訪問的文件
open_basedir = D:/usr/www
(
如果打開了安全模式
我們覺得不希望執行包括system()等在那的能夠執行命令的php函數
phpinfo()等函數
disable_functions = system
如果你要禁止任何文件和目錄的操作
disable_functions = chdir
以上只是列了部分不叫常用的文件處理函數
就能夠抵制大部分的phpshell了
(
我們為了防止黑客獲取服務器中php版本的信息
expose_php = Off
比如黑客在 telnet www
(
在PHP中提交的變量
這是對服務器非常不安全的
register_globals = Off
當然
那麼就要用$_GET[’var’]來進行獲取
(
SQL注入是非常危險的問題
所以一定要小心
magic_quotes_gpc = Off
這個默認是關閉的
比如把 ’ 轉為 ’等
magic_quotes_gpc = On
(
一般php在沒有連接到數據庫或者其他情況下會有提示錯誤
前的路徑信息或者查詢的SQL語句等信息
display_errors = Off
如果你卻是是要顯示錯誤信息
error_reporting = E_WARNING & E_ERROR
當然
(
建議在關閉display_errors後能夠把錯誤信息記錄下來
log_errors = On
同時也要設置錯誤日志存放的目錄
error_log = D:/usr/local/apache
注意
MYSQL的降權運行
新建立一個用戶比如mysqlstart
net user mysqlstart ****microsoft /add
net localgroup users mysqlstart /del
不屬於任何組
如果MYSQL裝在d:mysql
然後在系統服務中設置
重新啟動 MYSQL服務
如果是在windos平台下搭建的apache我們還需要注意一點
這很恐怖
net user apache ****microsoft /add
net localgroup users apache /del
ok
我們打開計算機管理器
重啟apache服務
實際上我們還可以通過設置各個文件夾的權限
這也是當前很多虛擬主機提供商的流行配置方法哦
From:http://tw.wingwit.com/Article/program/PHP/201311/21195.html