首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:
3 q. Q: L1 y. v$ o; N0 J# u3 w php_admin_value open_basedir /usr/local/apache/htdocs6 r1 Z4 }" Y3 G; L' w7 s, s
/ q1 |6 a L. J7 k3 H: w0 ^
这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:
- g7 r; u0 c" h+ g4 Z Warning: open_basedir restriction in effect. File is in wrong directory in/ \0 D* S+ t$ C9 v" @; t6 u2 S
/usr/local/apache/htdocs/open.php on line 4
2 }0 Q7 S. ^ v: {* N( x 等等。
2 b8 p1 a) Z3 F9 \% e! S 2.防止php木马执行webshell2 e! Z1 }# o) R+ z' Z0 ^7 G9 B/ `/ G _
打开safe_mode,
/ \& D! ?" h. w$ S 在,php.ini中设置5 m$ v/ X) q9 }5 `
disable_functions= passthru,exec,shell_exec,system & X, g: ` R9 [4 P8 R& H
二者选一即可,也可都选 & B$ V5 W1 \5 w5 T6 h8 @- A
3.防止php木马读写文件目录
% T; I5 ~ w0 Z, P1 N; z7 N 在php.ini中的
* r: u5 j1 z" }3 d3 i' R, p; G5 L disable_functions= passthru,exec,shell_exec,system
& m u+ u$ ^9 f4 T 后面加上php处理文件的函数* |& k' o2 A/ V* w
主要有
, {3 X2 |* w7 ~( o! S: M fopen,mkdir,rmdir,chmod,unlink,dir
$ n5 P) Y0 q3 v. U2 K fopen,fread,fclose,fwrite,file_exists
8 T) b& F+ \3 p6 I$ g closedir,is_dir,readdir.opendir
) t0 o; Y& ^5 T2 l) _ fileperms.copy,unlink,delfile9 q/ l% Z( Z4 [% W& [. r! k9 {
即成为
+ e9 C' P8 ~& R7 u+ i" b0 m disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir8 |1 Z, J5 ?. _
,fopen,fread,fclose,fwrite,file_exists1 n: a6 V2 u# j' z: l
,closedir,is_dir,readdir.opendir+ M$ ]6 j1 y, R; n2 x
,fileperms.copy,unlink,delfile
3 z' }7 `( A! m% B8 u; n ok,大功告成,php木马拿我们没辙了,^_^
4 A/ f6 U2 k9 a l( `2 l* F 遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 8 V4 U1 x( `4 q2 ]* V) o7 u5 c6 x% y
如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧. + V: }( W5 }; ?4 f5 l8 K, r
net user apache ****microsoft /add % {8 M; l# J8 b, e1 D/ H
net localgroup users apache /del
; H+ Z/ l* a& @7 k: K ok.我们建立了一个不属于任何组的用户apche.
5 C$ }3 _1 Z8 A. a 我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.9 G2 n+ M3 l5 y4 d+ ?: K
实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。
# s3 Q. ]- J p |