点标签看更多好帖
开启左侧

Apache下禁止特定目录执行PHP 提高服务器安全性

[复制链接]
发表于 2016-5-6 02:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
前在博文从PHP安全讲DedeCms的安全加固中说过在PHP安全中保护“可写目录下的文件不允许被访问到的重要性,还提出了改名文件夹的方式来保护该目录。* S5 _. C9 a$ [3 p0 L5 ~
: d# m! p: d( r% v5 A, q

+ ?6 G$ k' F( I+ o4 D5 h9 ^
) e  u1 A  [9 q, ]- d1 p0 G; W8 F3 s' K
如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式: 7 |9 J4 M6 n: ^) c0 e
方式一:.htaccess控制,适用于没有服务器管理权限。
2 K+ F/ ]- X0 Q& o, `7 m' q在可写文件夹的目录下,建一个.htaccess文件,内容为:
+ f$ A$ }5 p& J9 @3 Q; F[url=]复制代码[/url]代码如下:
7 U- H/ P6 N+ ]9 x( n0 z, C, B' ^- E3 v" \
<Files ~ ".php">
' D9 H! L1 F; @0 R8 H4 k, O8 r& HOrder allow,deny   I8 x% f! A3 u  ]
Deny from all
, `' Y# s/ A* a0 k0 P. A& i</Files>
2 i+ q: m0 g8 p. v6 \$ E
; J0 D' k' U8 i" e) Y* H. |: s' N  A" l7 V1 |
& g0 a3 m) y0 Y* d3 x' t: d

, }! u) w3 O8 E方式二:修改Apache配置文件,适用于有服务器管理权限。 " n. b  h) l' @1 i- a( Q4 _
配置中增加如下内容: # M" R* l6 \; v% ~2 \, [$ O" J
[url=]复制代码[/url]代码如下:) y% U' o6 B* C' d1 w
( }& h. x1 C8 a
<Directory "<path_to_writeable_dir>">
! B, S1 p& X; q( O5 g2 Q<Files ~ ".php">
  B& r; o* d! T3 R, x1 tOrder allow,deny
* P- d: r9 P8 B) d+ f; Z# I( |Deny from all . `- u) H4 [, h; d2 f
</Files> 5 \/ p, r$ D" [1 T8 [
</Directory> ' m, V: }) y) Z" F! ~# N

9 k6 X( I) `  R  ]6 G
# n3 d  F1 f6 w% S& E

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-8847-1-1.html 谢谢
发表于 2016-5-6 04:02 | 显示全部楼层
Discuz根目录下的crossdomain.xml文件1 h& }: O1 v1 U+ c; v4 ^

5 Y- p! B7 {/ z0 \8 U4 f: u3 i7 lCrossdomain.xml的格式非常简单,其根节点为<cross-domain-policy>2 T3 @6 K! V! O1 M9 k
,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性
& R0 V, W6 Y0 c" [. r" m! j" |domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。1 l% {, u* Q3 g7 W2 C% {. h
在Discuz论坛跟目录打开crossdomain.xml这个文件,里面会是这样
/ t4 k7 Y* w' {6 f <?xml version="1.0"?>
5 @+ v0 l1 Y. ], f        <cross-domain-policy>
' A6 M' G; U3 G% L6 C3 I9 U                 <allow-access-from domain="*" />& e- M" R$ E3 u* k  J! B* L( ^
         </cross-domain-policy>) C, k9 {, E% y6 I7 `
文件中的allow-access-from domain 实体设置为星号设置为允许任何域访问,将其修改为 ,表示只允许本域访问,该问题就解决了。
7 u, f5 n+ p5 Q, @& d; H- G/ O  7 b; N: F# q6 x) Q/ A0 w( x5 t
这样论坛就不会再报crossdomain.xml配置风险了,蛮简单的吧!!

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表