当前位置: 首页 > 知识库问答 >
问题:

用disable_functions和disable_classes大大限制功能和类的成本和好处是什么?

黎震博
2023-03-14

我已经进行了一些研究,并开始构建一个完整的PHP5内置函数列表,如项目站点上记录的那样。

利用禁用功能和/或禁用类的性能成本是多少?

这些全局设置是如何工作的?

注意,我发现了一个非常有价值的可利用函数列表和RIPS扫描仪。

然而,实际上阻止PHP代码中没有使用的所有函数和类似乎更完整。


共有1个答案

杨飞飙
2023-03-14

disable_functions从PHP函数列表中删除函数处理程序(指向实际函数实现的指针),并将其替换为指向伪函数的处理程序,该伪函数显示警告:

Warning: system() has been disabled for security reasons in Command line code on line 1

这只是PHP(每次被调用-一个脚本被访问)执行此替换的处理时间。

我不太确定disable_classes,因为我从未使用过它。

但是,请不要认为这是一个安全特性-检查这个更多信息。

PHP中的任何错误(溢出、释放后使用和类似)都将允许潜在攻击者篡改进程内存,并修复函数处理程序,以指向仍在内存中的正确函数处理程序-这将导致重新启用禁用的函数。

在共享主机环境中始终保持分离。请看我对另一个类似问题的回答。

 类似资料:
  • 假设我在redis店里有钥匙。我想在一个新的hashmap结构中保留一些键值对。我还希望对这个hashmap的大小保持一个限制,并且在hashmap的大小(hashmap)增长超过一个限制并且不触及已经存在的redis数据结构的其馀部分时,驱逐hashmap最近最少使用的键值对。redis是否为我提供了任何这样的功能,在那里我可以做这种LRU风格的逐出散列图条目,而不触及其余的存储键?或者可以在r

  • 问题内容: 有谁知道文件数量和文件大小的Git限制是多少? 问题答案: 这从消息Linus本人可以帮助您与其他一些限制 CVS,也就是说,它实际上最终几乎是针对“一次一个文件”模型的。 很好,因为您可以拥有一百万个文件,然后仅检出其中的几个文件-您甚至看不到其他999,995个文件的影响。 从根本上说,Git从来不会真正关注整个回购。即使您对内容进行了一些限制(例如,仅检查一部分,或者只是回顾了一

  • 问题内容: 我正在使用一些动态生成的数据输入形式来管理组件。布局大致如下: 我将2个平行组用于水平布局,并将一个顺序组用于垂直布局。在大多数情况下,一切都很好。 我想将标签的最大宽度(只是的实例)限制为父级宽度的。如果将JFrame其设置为固定大小,这将是微不足道的,但是我必须处理它的调整大小。 我正在从接收事件,JFrame但是一旦收到这样的事件,我就该做什么了。 我试过这种方法没有任何运气:

  • 本文向大家介绍浅谈Redis的key和value大小限制,包括了浅谈Redis的key和value大小限制的使用技巧和注意事项,需要的朋友参考一下 今天研究了下将java bean序列化到redis中存储起来,突然脑袋灵光一闪,对象大小会不会超过redis限制?不管怎么着,还是搞清楚一下比较好,所以就去问了下百度,果然没多少人关心这个问题,没找到比较合适的答案,所以决定还是去官网找吧。 找到两句比

  • 本文向大家介绍PHPStrom中实用的功能和快捷键大全,包括了PHPStrom中实用的功能和快捷键大全的使用技巧和注意事项,需要的朋友参考一下 有哪些快捷键或者PHPStrom出的特有的功能,让你觉得编写过程变得很舒服和快捷? CTRL + j 能够快捷的输入常用的代码片段,类似vim的 snipMate,可以加入自定义代码片段 find every thing phpstorm 支持类名、文件名

  • 问题内容: 一个新手问题,但是我已经在Google上搜索了一下,似乎找不到任何解决方案。 我想允许用户直接将文件上传到S3,而不是先通过我的服务器。这样,在实际上传到S3之前,是否可以通过任何方式检查文件的大小限制和允许的类型?最好不要使用Flash,而是使用javascript。 问题答案: 如果您正在谈论安全问题(人们将大量文件上传到存储桶),是的,您可以使用基于浏览器的上传到S3来限制文件大