首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: : w4 b5 ^2 [3 i' W/ n
php_admin_value open_basedir /usr/local/apache/htdocs
2 L8 k1 Y) v# c" | ; P; }% `5 j }5 N! b' ]" ^7 }
这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:6 i D$ @% a) W* ~* Z) L9 T
Warning: open_basedir restriction in effect. File is in wrong directory in
" }9 S2 v4 D6 Y: J$ S3 @* z /usr/local/apache/htdocs/open.php on line 4
" [/ m0 {8 d; O4 k4 C0 u( i 等等。! Y6 B, ^ u3 n1 w& d7 g
2.防止php木马执行webshell
}5 y( ~# \* w- Z 打开safe_mode,
- [% s; r# A. F; H 在,php.ini中设置
9 v T7 b& S- E disable_functions= passthru,exec,shell_exec,system 1 q- V- J$ Q& T
二者选一即可,也可都选 ( M, z h( U" v2 B/ v& l% \6 k) A
3.防止php木马读写文件目录 1 n& U' d" ~& A4 g# ?
在php.ini中的
2 t! ~, X- _7 G I; R y& t disable_functions= passthru,exec,shell_exec,system , u' c% m7 |6 y
后面加上php处理文件的函数
0 ]7 Z e4 P: \7 x. f+ W6 z 主要有
/ y$ z& b( I0 t5 y3 j" u0 V0 c9 x fopen,mkdir,rmdir,chmod,unlink,dir7 K+ X" v0 \0 b4 O; z
fopen,fread,fclose,fwrite,file_exists
2 Z9 t1 ?8 E2 H3 U+ F& f4 M3 g$ F% J closedir,is_dir,readdir.opendir
2 X( o7 F6 R* X }2 u4 K9 l" ]$ w5 l fileperms.copy,unlink,delfile
2 {/ w! m9 _6 g ]+ I( C j 即成为
5 R6 f& t7 a7 d2 N! M. ^ disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
1 p2 B3 k ^* q; O0 X$ Q1 K2 C# j) C ,fopen,fread,fclose,fwrite,file_exists
0 v% i! O: Q. O- }' f ,closedir,is_dir,readdir.opendir9 E5 ]+ T( ^# h, B ~
,fileperms.copy,unlink,delfile
+ J$ s) |0 a: \2 i( @ ok,大功告成,php木马拿我们没辙了,^_^+ R- A" X- G. ^; K: K3 C# i- Y
遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 2 c* A0 J1 `+ K0 b* B
如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.
8 X w: B3 c6 u9 R7 [ net user apache ****microsoft /add C+ e9 n, M' t. {/ G( J+ ]
net localgroup users apache /del , X* [( @! F4 Z2 I0 _+ b
ok.我们建立了一个不属于任何组的用户apche.
0 i d$ A/ V% S6 Y Y8 Z7 X X 我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
5 C+ d. i$ o. t/ x7 i8 U1 m' d1 q 实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。
2 t: g ~/ G4 l: Y( Z |