首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: 2 i& e K1 C; }! h
php_admin_value open_basedir /usr/local/apache/htdocs7 t2 X u+ g3 d# _" \- f
6 H7 ?) D$ M2 j7 T 这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:; Z/ {" c E, ]5 {
Warning: open_basedir restriction in effect. File is in wrong directory in& Z G+ {& @7 ^( k, I2 n1 s& s
/usr/local/apache/htdocs/open.php on line 4
6 A8 N" {& @+ [4 k; v) A 等等。' h9 A; A- G) u- E- M+ a; f6 }
2.防止php木马执行webshell ] N f6 I, Z( N/ ^8 Y
打开safe_mode,
( H' s8 \6 c/ v3 ]5 _/ ~& g$ E7 { 在,php.ini中设置
& j$ S5 B( K/ M4 K. a4 Q+ ^ disable_functions= passthru,exec,shell_exec,system
# d' C% A7 B$ } w 二者选一即可,也可都选 1 T2 g+ E( {; j9 U0 n
3.防止php木马读写文件目录
& z0 T* [+ L: H7 A& ? 在php.ini中的
1 l m/ g/ G+ c: F" n% ?' q z disable_functions= passthru,exec,shell_exec,system
( M8 E0 B- ~) [5 u6 @( X 后面加上php处理文件的函数* x/ e; F. Z! h: ^6 K" W) Y
主要有
: [3 y$ T. e0 P5 D6 U) N o fopen,mkdir,rmdir,chmod,unlink,dir
/ ?* h$ I% F* o s) @/ ] fopen,fread,fclose,fwrite,file_exists
5 S9 O2 }: N( ?2 M closedir,is_dir,readdir.opendir, T! C! Y1 K$ u' z3 B
fileperms.copy,unlink,delfile
( a; X3 U- X- p. b" n 即成为" {3 s) z0 A! a, F1 I( _6 `/ Y) T, l; q
disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
$ O4 F# s0 M5 i4 R5 M* G- R ,fopen,fread,fclose,fwrite,file_exists$ q% o- ~! P1 S# y
,closedir,is_dir,readdir.opendir
5 L, B3 P$ I) M9 M2 F% h ,fileperms.copy,unlink,delfile
' q9 O% L6 i, o$ p ok,大功告成,php木马拿我们没辙了,^_^
5 f: M& f5 F1 ]+ M: s 遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 + i4 M$ }# u; y4 `4 |
如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧. * B" Z0 m2 G" j1 [( r9 ?+ Z* X$ _
net user apache ****microsoft /add
8 R' X: d" L0 v- x G net localgroup users apache /del " [$ \5 V. s/ M2 a* S M
ok.我们建立了一个不属于任何组的用户apche.
' Q! d3 s8 Z6 Q4 R( @ 我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.5 o9 m# d9 Y6 E+ X
实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。 ! w& b6 G: y7 S. F' I0 }/ Z' r9 j
|