PHP 如何禁止动态添加扩展

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

除非你代码加密
nilai
2017-08-15 15:35:03 +08:00
@gouchaoer (这里不讨论主机本身安全性)
nilai
2017-08-15 15:35:52 +08:00
@afeicool 是的, 是 php 的源码 C 语言的
wsy2220
2017-08-15 15:42:37 +08:00
都能改 php.ini 了,把整个 php 换掉都可以...
nilai
2017-08-15 15:44:07 +08:00
@wsy2220 这个不在本讨论范围。
orderc
2017-08-15 15:55:39 +08:00
修改 PHP 源码,重新编译,收工
nilai
2017-08-15 16:03:01 +08:00
经测试了下, 已经搞定。
mooncakejs
2017-08-15 16:07:29 +08:00
php.ini 只读不行吗
esile
2017-08-15 17:03:01 +08:00
chattr +i php.ini
sarices
2017-08-15 17:26:08 +08:00
修改 php 源代码,在启动的时候自动下载远程的一个 php.ini 用于加载

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383078

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX