PHP 后台写了一些功能块,不做权限直接暴露是否有安全问题。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mostkia
V2EX    问与答

PHP 后台写了一些功能块,不做权限直接暴露是否有安全问题。

  •  
  •   mostkia 2020-04-13 12:07:37 +08:00 1747 次点击
    这是一个创建于 2014 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如:

    function AAA(){ AAA; } function BBB(){ BBB; } function CCC(){ CCC; } 

    以上的代码,假设是一些 php 文件的内容 function 里面带有敏感危险的操作,这些 php 文件,可以直接在站点中输入 url 访问,但按照逻辑,直接访问这些文件,里面的 function 并不会主动执行(已确保所有调用的代码都在登录后执行的)。这种情况下这类功能块文件,不做权限是否安全呢?是否有潜在的风险可以激活这些 function 功能块?

    9 条回复    2020-04-13 14:08:52 +08:00
    3K1yf6UvnVz5w008
        1
    3K1yf6UvnVz5w008  
       2020-04-13 12:11:42 +08:00
    同问
    chinvo
        2
    chinvo  
       2020-04-13 12:12:26 +08:00 via iPhone
    理论上 web 入口应该在独立的子目录,这些东西都应该放到非 web 路径里
    alex321
        3
    alex321  
       2020-04-13 12:42:22 +08:00   2
    你这些 PHP 文件是需要有其他文件来调用执行的吧,这个看下 CI 这类单入口框架的的设计,都有这句:

    defined('BASEPATH') or exit('No direct script access allowed');
    cydian
        4
    cydian  
       2020-04-13 12:44:35 +08:00 via Android
    @alex321 正解
    cydian
        5
    cydian  
       2020-04-13 12:46:56 +08:00 via Android   1
    从你的描述来看,
    不加,问题不大。
    因为所有调用的地方都有验证。
    用户不可能直接跳过验证去运行函数。
    前面已经验证过一次,后面再验证一次,更加安全,更加放心。
    后面不验证,我也觉得没有问题。
    mostkia
        6
    mostkia  
    OP
       2020-04-13 12:53:04 +08:00
    @alex321 好的,是的,作为复用的片段放在文件内的,本身没有执行的需要,谢谢,我会参考一下的
    @cydian 嗯,加了感觉比较繁琐,而且真的这样部署,里面也不会放任何涉及数据的敏感的操作,无非是一些复用的功能,但直接暴露不做权限的 php 功能片段总觉得有些怪异,所以探讨一下这方面相关的东西。
    mostkia
        7
    mostkia  
    OP
       2020-04-13 13:05:32 +08:00
    @chinvo 有时候也迫不得已啊,业务结构不是自己定的。虽然因为业务结构原因,直接忽略也是可以的,但问问清楚更放心,也更负责一些,搞懂了没坏处。
    qq292382270
        8
    qq292382270  
       2020-04-13 13:42:36 +08:00   1
    参考 discuz 的代码:
    可被访问的文件: define('XXXXXX', true);
    模块文件: if (!defined('XXXXXX')) {
    exit('请勿单独访问本页面');
    }
    mostkia
        9
    mostkia  
    OP
       2020-04-13 14:08:52 +08:00
    @qq292382270 好的,谢谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     880 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:21 PVG 04:21 LAX 13:21 JFK 16:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86