V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nilai
V2EX  ›  PHP

PHP 如何禁止动态添加扩展

  •  
  •   nilai · 2017-08-15 14:07:26 +08:00 · 2795 次点击
    这是一个创建于 2659 天前的主题,其中的信息可能已经有所发展或是发生改变。
    PHP.ini 中可以通过添加 extension=xxx.so 来添加扩展, 现在为了防止被人恶意添加扩展(这里不讨论主机本身安全性)。 怎么通过修改 php 源码来实现 就算在 php.ini 中添加了 extension=xxx.so php 也不会去加载这个 so 文件。 (在搭环境时, 把需要的扩展都静态编译进去。)
    17 条回复    2017-08-15 17:26:08 +08:00
    nilai
        1
    nilai  
    OP
       2017-08-15 14:26:20 +08:00
    目前自己实现的一个办法就是 在 php 启动时去检测 php.ini 文件的 hash 值,是否有改变, 若改变就退出 PHP。 不过这方面感觉有点 low。
    inmyfree
        2
    inmyfree  
       2017-08-15 14:34:09 +08:00
    改用 docker 打包一个镜像,这样就改不了了....
    gouchaoer
        3
    gouchaoer  
       2017-08-15 15:01:34 +08:00
    别人都已经可以修改你的 php.ini 了,想干什么不行……
    gouchaoer
        4
    gouchaoer  
       2017-08-15 15:03:13 +08:00
    钱包被偷了,怎么防止小偷拿我的钱?
    chuhemiao
        5
    chuhemiao  
       2017-08-15 15:05:16 +08:00
    都已经有权限进去了,只会加扩展?这是闲的 dt 了把。。。
    RLib
        6
    RLib  
       2017-08-15 15:09:36 +08:00
    afeicool
        7
    afeicool  
       2017-08-15 15:11:25 +08:00
    php 本身是做不到此事。
    “修改 php 源码” 只的是修改 php 语言的 底层 C 代码对么? 这是有可能的,祝你成功。
    jugelizi
        8
    jugelizi  
       2017-08-15 15:34:55 +08:00
    思路很清奇
    修改 php 源码

    除非你代码加密
    nilai
        9
    nilai  
    OP
       2017-08-15 15:35:03 +08:00
    @gouchaoer (这里不讨论主机本身安全性)
    nilai
        10
    nilai  
    OP
       2017-08-15 15:35:52 +08:00
    @afeicool 是的, 是 php 的源码 C 语言的
    wsy2220
        11
    wsy2220  
       2017-08-15 15:42:37 +08:00
    都能改 php.ini 了,把整个 php 换掉都可以...
    nilai
        12
    nilai  
    OP
       2017-08-15 15:44:07 +08:00
    @wsy2220 这个不在本讨论范围。
    orderc
        13
    orderc  
       2017-08-15 15:55:39 +08:00
    修改 PHP 源码,重新编译,收工
    nilai
        14
    nilai  
    OP
       2017-08-15 16:03:01 +08:00
    经测试了下, 已经搞定。
    mooncakejs
        15
    mooncakejs  
       2017-08-15 16:07:29 +08:00 via iPhone
    php.ini 只读不行吗
    esile
        16
    esile  
       2017-08-15 17:03:01 +08:00 via iPhone
    chattr +i php.ini
    sarices
        17
    sarices  
       2017-08-15 17:26:08 +08:00
    修改 php 源代码,在启动的时候自动下载远程的一个 php.ini 用于加载
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3358 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:06 · PVG 20:06 · LAX 04:06 · JFK 07:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.