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

比如:

function AAA(){
	AAA;
}

function BBB(){
	BBB;
}

function CCC(){
	CCC;
}

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

相关文章

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

  1. 你这些 PHP 文件是需要有其他文件来调用执行的吧,这个看下 CI 这类单入口框架的的设计,都有这句:

    defined(‘BASEPATH’) or exit(‘No direct script access allowed’);

  2. 从你的描述来看,
    不加,问题不大。
    因为所有调用的地方都有验证。
    用户不可能直接跳过验证去运行函数。
    前面已经验证过一次,后面再验证一次,更加安全,更加放心。
    后面不验证,我也觉得没有问题。

  3. @alex321 好的,是的,作为复用的片段放在文件内的,本身没有执行的需要,谢谢,我会参考一下的
    @cydian 嗯,加了感觉比较繁琐,而且真的这样部署,里面也不会放任何涉及数据的敏感的操作,无非是一些复用的功能,但直接暴露不做权限的 php 功能片段总觉得有些怪异,所以探讨一下这方面相关的东西。

  4. @chinvo 有时候也迫不得已啊,业务结构不是自己定的。虽然因为业务结构原因,直接忽略也是可以的,但问问清楚更放心,也更负责一些,搞懂了没坏处。

  5. 参考 discuz 的代码:
    可被访问的文件: define(‘XXXXXX’, true);
    模块文件: if (!defined(‘XXXXXX’)) {
    exit(‘请勿单独访问本页面’);
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注