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

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

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

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

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

x
前在博文从PHP安全讲DedeCms的安全加固中说过在PHP安全中保护“可写目录下的文件不允许被访问到的重要性,还提出了改名文件夹的方式来保护该目录。
& U" M6 e& X* X: I# p/ h( t: X
# s0 s) l& o7 K6 o+ E: Y
1 f/ s4 r, _( H% I+ E

+ j4 b) y" O, K* D! P$ I如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式: : }$ @0 w* w! x8 Q, N4 n& q4 W9 M
方式一:.htaccess控制,适用于没有服务器管理权限。
  r; W8 ^) ?5 \5 i, j! |7 [在可写文件夹的目录下,建一个.htaccess文件,内容为:
  s" p( C; J: l, E, u/ P[url=]复制代码[/url]代码如下:" b, F# m3 }: I; O: H$ K# L" i
. p6 w( x; y0 p! I$ m  ~: w
<Files ~ ".php"> 0 f0 _4 M, U" `" U: r- u1 i
Order allow,deny
1 B/ T2 C9 T+ c% ?) r$ y- }) a: pDeny from all
+ x; T2 l5 t) [% j! V7 C: x</Files> 4 _& O# a- H8 p

$ i9 z# x) p! p  Y
* O: l$ y$ q) M2 @; G. S( e0 k) ]
  O% p$ E: e* \7 h* ]. b# G
- r' S2 ?. ?' U* }方式二:修改Apache配置文件,适用于有服务器管理权限。
* b* G9 D$ _4 m. e2 P配置中增加如下内容: + ^( v4 P/ ]# }  b' m9 M
[url=]复制代码[/url]代码如下:
+ a" ]4 D2 k- Y  E0 |. }& @2 o4 L9 r7 {8 F+ J( T6 E; n( B! `1 u
<Directory "<path_to_writeable_dir>">
% s1 z/ W( t! {) n, M1 h& Z<Files ~ ".php">
# W6 |# i4 q6 A2 ~Order allow,deny ( c8 b- H7 y$ K4 a& x
Deny from all
$ f7 v0 q* M0 P" f: P* C" M</Files> - I* ?- B2 O+ D9 r+ E/ z2 ~$ k
</Directory> $ b( j6 k5 ~( }
+ w$ R8 J2 U0 D4 u6 h( n( g
8 I8 T! k( {! J. O4 h3 U


转载请保留当前帖子的链接:http://www.beimeilife.com/thread-8847-1-1.html 谢谢!
发表于 2016-5-6 03:02 | 显示全部楼层
Discuz根目录下的crossdomain.xml文件
& c9 b. P7 i, y5 L% U% x: `. g. B& z& k
Crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy>7 ~8 h) B3 r  M; j2 G) e
,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性7 n* M( K- [3 P" R$ m. T
domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。
+ l* u6 X5 q! c在Discuz论坛跟目录打开crossdomain.xml这个文件,里面会是这样 : H1 Q+ ~7 l9 c% |( q% L' ?
 <?xml version="1.0"?>" n! J: h7 a* t8 K" Y; p4 K  U! ]
        <cross-domain-policy>' \* C3 c1 K. h8 v3 w
                 <allow-access-from domain="*" />/ s( F. ]) N1 b/ p
         </cross-domain-policy>& G! z9 Z+ q, C
文件中的allow-access-from domain 实体设置为星号设置为允许任何域访问,将其修改为 ,表示只允许本域访问,该问题就解决了。! E5 `6 t3 B6 g, w, M2 M# W! t  d
  
8 v/ g" G$ x) k" Q; G( O- B8 v这样论坛就不会再报crossdomain.xml配置风险了,蛮简单的吧!!

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

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

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

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