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

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

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

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

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

x
前在博文从PHP安全讲DedeCms的安全加固中说过在PHP安全中保护“可写目录下的文件不允许被访问到的重要性,还提出了改名文件夹的方式来保护该目录。
- m( r+ [! Q) l4 q5 F

3 C2 [& I  v% k0 I9 ?- R

1 t' ?# b  l' l- }& d; }+ G. U, Y

7 n- _& Z2 o9 Q5 ~如果用的是Apache服务器,还可以通过配置来禁止该目录下的PHP文件的访问,有两种方式:
- ^9 j6 k% H2 z/ ~. [9 y) d7 j方式一:.htaccess控制,适用于没有服务器管理权限。 - c4 Y: b9 V3 x  A
在可写文件夹的目录下,建一个.htaccess文件,内容为: 5 f4 C5 P+ t0 r- I* [9 ~) I: c
[url=]复制代码[/url]代码如下:4 c& X$ L" _$ F- r4 w6 D2 W
( ^0 v( P* k6 K, r. U( g
<Files ~ ".php"> . e3 `( z1 w3 |8 m
Order allow,deny 6 d; ^7 d* a& ~7 J) w8 p2 n8 ~; b
Deny from all
( F$ \( D9 Q3 \) Y</Files> 2 O7 C: ~0 h: e5 p
, x$ I1 ^: F, S& [) Q- A/ r
' h+ H! h2 s  d2 F4 G+ B
2 ?$ L+ z: d! R' d4 g, D

. L: e# N  F1 |5 R8 x方式二:修改Apache配置文件,适用于有服务器管理权限。
5 o/ e" V2 q/ ~; I7 C2 p: ?0 P$ h2 L配置中增加如下内容:
5 P6 e/ A1 e' E1 l0 w[url=]复制代码[/url]代码如下:+ O1 g) R8 A* i7 X
% i3 D( T5 x, s* f. @
<Directory "<path_to_writeable_dir>">
8 T% ]& g7 G5 G: V9 Q$ O<Files ~ ".php"> / [2 A: k" H/ K$ ~% k2 T; S3 ^* ]
Order allow,deny " [+ k. k- N& m% I* ^& U8 W& Z
Deny from all
2 N/ r' C' g% R3 k$ f/ Q+ E</Files>
  ~  L. q) r& c0 r# y</Directory>
6 Y. g& a2 G* b. A/ y
) s4 C. P/ H/ Q) _- Q" K$ E1 l  H3 j

- ~& [. b9 j( W, z4 }

转载请保留当前帖子的链接:https://www.beimeilife.com/thread-8847-1-1.html 谢谢
发表于 2016-5-6 04:02 | 显示全部楼层
Discuz根目录下的crossdomain.xml文件
8 W3 _; `" S1 P8 D+ c# V1 [  h
& n2 [. ]/ G- hCrossdomain.xml的格式非常简单,其根节点为<cross-domain-policy>' ^$ [; F, \* t: H( C& }
,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性: U5 [0 B- z; b# N" y! x( J" A
domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。1 a" S+ S8 ^" l$ j! I8 v5 f
在Discuz论坛跟目录打开crossdomain.xml这个文件,里面会是这样
2 f$ [0 R% q8 R8 ]2 J7 } <?xml version="1.0"?>
( m& D' C/ {) L" a3 z        <cross-domain-policy>6 l3 g- a2 o/ H2 O/ I
                 <allow-access-from domain="*" />4 ~: f& p% A+ s+ r, z
         </cross-domain-policy>8 D! f% Z1 {9 E! O& Y* ]
文件中的allow-access-from domain 实体设置为星号设置为允许任何域访问,将其修改为 ,表示只允许本域访问,该问题就解决了。
2 D. ^# I% P3 U# Y  1 n6 \) ~5 ?) N! K! n9 ?. Z+ }8 {
这样论坛就不会再报crossdomain.xml配置风险了,蛮简单的吧!!

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

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

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

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