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

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

[复制链接] 1
回复
1050
查看
打印 上一主题 下一主题
楼主
跳转到指定楼层
发表于 2016-5-6 02:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
前在博文从PHP安全讲DedeCms的安全加固中说过在PHP安全中保护“可写目录下的文件不允许被访问到的重要性,还提出了改名文件夹的方式来保护该目录。
7 d  X0 A9 B+ P) L8 t: E
% h& e  S4 p& y+ H, p

6 t$ O4 g. r: h
3 q$ w6 k+ t6 `7 I0 i( K( e
如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式:
! k& Q3 A9 S6 K. B2 e方式一:.htaccess控制,适用于没有服务器管理权限。 ; q; L4 Z; g+ ^" d5 V. }* J( o8 L
在可写文件夹的目录下,建一个.htaccess文件,内容为: 2 t; C  v/ T% }6 x! C5 v5 T
[url=]复制代码[/url]代码如下:
: J4 G' W' s9 _. Y. C: l  G
8 K: g1 a; q5 n( Y<Files ~ ".php">
7 _) g. k5 R' V1 ]4 \  ?Order allow,deny ) u* L( N- F% y+ |+ W
Deny from all
( k  ^6 Q7 A, o; j: B% c</Files>
$ ]7 u- [' Q) v' O
4 ^8 m8 X3 A: {, \5 ]7 j* F4 C* ?& d* ^! Y" ~+ e% A5 Y1 g' t+ W* h

! i2 a' n; |! T3 ~5 t/ I" Z5 w  S" t. O$ O( Q+ Q
方式二:修改Apache配置文件,适用于有服务器管理权限。 & ?# {1 {( k  V
配置中增加如下内容:
4 n2 o, _/ ]: G) C! L& k/ Y: [[url=]复制代码[/url]代码如下:$ ^* Z( B& \- `

6 @& d! h1 {, o' U- B! ?' ~2 h<Directory "<path_to_writeable_dir>"> 1 Q( D4 S; V+ X( v% a) W
<Files ~ ".php"> $ j4 {) G- J$ I6 z+ C
Order allow,deny
) A4 y" _  {) i. Z" L# LDeny from all % C9 F1 Y0 Y' Z3 Y( @  j) }4 P
</Files>
/ S) Y; z" y4 n+ }8 ?* \/ o5 X</Directory> 8 H6 U# T) I; d$ {* E7 N, |

6 E9 |* W% i- L) e- @  [$ h) e( p$ ]- ^4 d9 h


转载请保留当前帖子的链接:https://www.beimeilife.com/thread-8847-1-1.html 谢谢
沙发
发表于 2016-5-6 04:02 | 只看该作者
Discuz根目录下的crossdomain.xml文件
0 p% j8 Z. v8 ?0 U9 M. \6 t& ?
1 T, i5 e& m; P5 u! OCrossdomain.xml的格式非常简单,其根节点为<cross-domain-policy>
4 O( w4 e& l" J,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性9 q# h; A! ?# d- W* j9 D; }! p
domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。
  Y* E; x' B9 j; k( J1 j2 Q9 S1 Z在Discuz论坛跟目录打开crossdomain.xml这个文件,里面会是这样 6 |. A2 [$ k8 [. Y, @
 <?xml version="1.0"?>7 J8 @: S; |+ s; t0 x: d5 X
        <cross-domain-policy>
. H$ A, i/ ^8 W: i2 ~                 <allow-access-from domain="*" />
! b& W8 Y1 I8 R. z( m2 z0 T         </cross-domain-policy>
; u, b! A, g! ~; J文件中的allow-access-from domain 实体设置为星号设置为允许任何域访问,将其修改为 ,表示只允许本域访问,该问题就解决了。
3 }: s9 A+ p( x! G- q8 T  
, I4 B0 s8 y0 o" ?; [+ }这样论坛就不会再报crossdomain.xml配置风险了,蛮简单的吧!!

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

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

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

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