首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: 2 A Z# `5 x6 r: u C
php_admin_value open_basedir /usr/local/apache/htdocs
5 r/ S3 {' o2 e4 { 2 N, [8 b& t4 G; B# G: Z
这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:- B( p- |% Y: ?* W9 p k$ m! ]% s
Warning: open_basedir restriction in effect. File is in wrong directory in
% \4 C; z4 n( ?& X) Y2 b /usr/local/apache/htdocs/open.php on line 4% G/ |& P7 E% d7 S
等等。) w0 |' T( L; s5 y; t' T
2.防止php木马执行webshell/ m$ t' h) c% Z+ {" [# |1 Q
打开safe_mode,
5 @0 e# J6 `" w9 l 在,php.ini中设置6 y0 I% z* A: c( n$ N
disable_functions= passthru,exec,shell_exec,system + P$ Z) G. ]( e, u
二者选一即可,也可都选 : e: G/ i- n- E8 R$ }
3.防止php木马读写文件目录
* x6 Q9 h. {, Y! }/ l" s 在php.ini中的7 q* y# M9 X2 N$ ?
disable_functions= passthru,exec,shell_exec,system 9 c1 ^; |! j5 F; @3 A
后面加上php处理文件的函数, A( b! z+ P2 T7 }( z, l! T
主要有( R% }! W5 H$ ]3 n% U3 X* H) a
fopen,mkdir,rmdir,chmod,unlink,dir
+ M$ ~7 q" x) \$ `/ r fopen,fread,fclose,fwrite,file_exists; M+ S d( c9 p& G
closedir,is_dir,readdir.opendir
4 a2 S- L" A5 X2 K fileperms.copy,unlink,delfile
|4 R2 ^% t# X1 Q 即成为
) Y* l& R: m7 y6 r disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
( `5 }, z: z; c ,fopen,fread,fclose,fwrite,file_exists
$ p6 h9 `/ U0 q' a8 N& |: { ,closedir,is_dir,readdir.opendir+ ]8 t P' p N
,fileperms.copy,unlink,delfile
; n6 O- X1 x) ^* e5 k ok,大功告成,php木马拿我们没辙了,^_^ i) i/ {5 W7 t" @- r0 N
遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。
& I. E( ^6 o, Z) J4 m 如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧. & J/ |9 C+ {3 C; p1 j {
net user apache ****microsoft /add
) t5 ]0 j5 F) T8 R& u% ] net localgroup users apache /del , V5 `- z3 h- W7 [! p; X2 v% G4 }
ok.我们建立了一个不属于任何组的用户apche.
2 v. S7 Q3 L9 j5 J4 y 我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
/ z. g' \+ h$ E y 实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。 " v3 ~& V+ v Q. f* ~0 j
|