首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: / m8 z. L) w, X, ~- j) u7 Z
php_admin_value open_basedir /usr/local/apache/htdocs
0 x' @; L9 O5 r& X3 s( ] $ Y5 H" A/ Y8 ^" p2 |3 I! m( z
这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:" b+ ]8 N# E, D5 X. w
Warning: open_basedir restriction in effect. File is in wrong directory in1 c3 P/ y( \" M' Z! o% R
/usr/local/apache/htdocs/open.php on line 4$ E+ ], i. w2 S9 I: C+ g3 ]
等等。% g, y5 T9 U. E: } r2 N% s9 U
2.防止php木马执行webshell/ N/ D7 v7 P! H+ Z; H
打开safe_mode,
' {/ z1 `5 @5 h5 b 在,php.ini中设置' y* B5 H: E1 ]1 \. }4 J
disable_functions= passthru,exec,shell_exec,system ; j- l1 s3 R. t* q+ \4 \4 x+ v
二者选一即可,也可都选
6 N1 B- B* Y& g- q% N 3.防止php木马读写文件目录
, D- x, k6 Y3 p% N 在php.ini中的
+ `1 z" g4 W; n+ L- Y1 D; u disable_functions= passthru,exec,shell_exec,system 0 q' h8 s/ Z2 @: R& u
后面加上php处理文件的函数
9 n' B7 E x7 H8 m5 l 主要有5 i3 p$ M+ r3 O2 u9 _ H/ V
fopen,mkdir,rmdir,chmod,unlink,dir& R* `, F& R! {: s* x! [. g; I
fopen,fread,fclose,fwrite,file_exists5 H: k. |# A' g* o) W
closedir,is_dir,readdir.opendir( D) w: B" z) Z" v6 K) i& f- S. l
fileperms.copy,unlink,delfile
+ ]& S( }# d- H+ ]. L 即成为
5 }9 b8 l+ a! S1 O$ V disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
3 f+ r E% {4 q8 B! C; Q ,fopen,fread,fclose,fwrite,file_exists
: A1 {& ?& M+ j. q ,closedir,is_dir,readdir.opendir" I, P; J9 f; K. ?- w
,fileperms.copy,unlink,delfile
2 U7 a' X: b+ |6 f0 M8 ^9 c ok,大功告成,php木马拿我们没辙了,^_^
$ x0 M: r- j3 b1 r1 t7 r 遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 9 @0 |5 C* K+ q8 m2 {0 ~3 s2 `( D
如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.
! n' V- x* n3 p6 A net user apache ****microsoft /add
) A) N% d. `% r- b4 h2 Q net localgroup users apache /del
2 z) X0 D6 p! M4 F$ M ok.我们建立了一个不属于任何组的用户apche.
! K, M; L% J. o 我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.1 O! h9 M" N! C
实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。 & M! v- [5 Q* K: G5 x5 y2 _
|