当前位置: 首页 > 面试题库 >

PHP:如何禁用危险功能

叶建柏
2023-03-14
问题内容

如何禁用危险的 评估 功能?可以使用 ini_set 函数完成吗?

还有如何禁用以下功能?我们可以使用 ini_set 函数禁用它们吗?

allow_url_fopen  
allow_url_include
exec
shell_exec
system
passthru
popen
stream_select

评估 是坏人可用来开发事物的最危险功能之一。应该有一种无需使用 php.ini 文件就可以禁用它的机制。但应以编程方式完成。

好吧,伙计们,我正在寻找一个答案,建议他们禁用这些危险的可爱家伙,而无需进入 php.ini 文件;我的意思是如何在运行时或以编程方式禁用它们?

提前致谢....

更新资料

有人听说过PHP Shell Offender Script吗?它主要使用eval函数进行攻击。黑客能够在您的网站上运行其PHP代码。

我的问题是我不想完全禁用php.ini文件中的eval函数。例如,我已经开发了自己的MVC框架。现在,框架用户可以从框架配置文件中指定是否应禁用eval(和其他)功能。因此,这留给框架用户选择。一旦指定禁用它;我应该能够以编程方式禁用评估功能。

这就是场景。寻找有用的答案/解决方案

再次感谢。


问题答案:

要禁用功能(主要出于安全原因),可以disable_functionsphp.ini配置文件中使用指令。

但是,正如文档所述:

该指令必须在php.ini中设置。例如,您不能在httpd.conf中进行设置。

我想这太“内部”了,无法在PHP之外的其他任何地方进行配置…而且由于与安全性相关,因此由系统管理员来配置它。

尽管如此,最好的安全措施是编写干净/安全的代码,过滤所有输入,转义所有输出…并且不要让任何人在您的服务器上运行自己的代码!



 类似资料:
  • 本文向大家介绍Redis禁用命令、危险命令及规避方法,包括了Redis禁用命令、危险命令及规避方法的使用技巧和注意事项,需要的朋友参考一下 FLUSHALL FLUSHDB 命令会清空数据,而且从不失败,对于线上集群非常危险。 KEYS * 命令,当数据规模较大时使用,会严重影响Redis性能,也非常危险。 如果从根本上规避这些风险呢? Redis提供了非常简单且有效的方法,直接在配置文件中设置禁

  • 本文向大家介绍redis禁止几个危险命令的方法,包括了redis禁止几个危险命令的方法的使用技巧和注意事项,需要的朋友参考一下 这几天客户一直给我反映一个问题,那就是他的缓存服务器redis每天会清理库,很纳闷,我配置的redis一般保持的默认,不应该会每天去清理库的,感觉应该还是他的程序上有点问题吧。 不过,不管程序问题还是配置问题,我想到就是可以吧清库的命令禁掉,这样即使他程序要去清理也是没办

  • 问题内容: 为什么这么危险? 为什么建议改为使用? 我知道已弃用。还有什么使它不安全的? 有什么地方可以使用方法吗?如果是这样,请举一个例子。 问题答案: 为什么Thread.stop()如此危险? 此处详细描述了这些问题:http : //download.oracle.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveD

  • 问题内容: 如何获得内部脚本 dangerouslySetInnerHTML 得到执行? 我无法执行 有人可以帮忙吗?谢谢 问题答案: 您不能这样做,因为为了安全起见,脚本标签会自动删除。 使用javascript的最佳方法是单独获取字符串,然后从 componentWillMount 或 componentDidMount 执行(或评估)它 __ 您显然可以使用任何字符串。我想您可能正在从服务器

  • 我使用Microsoft Access2007和IBM AS400 DB2 SQL v6r1服务器。最近,我开始扩展我的DB2经验,将一些更复杂的访问查询转换为Pass-Through类型。查询速度的提高是惊人的,但这是意料之中的,尤其是在较大的表中,有些表有20,000,000多行。 正如使用Access+DB2所预期的那样,我遇到了SQL0666错误。或者至少...我现在期待它,因为我经常遇到

  • 问题内容: GoogleJavaScript样式指南建议不要扩展。但是,我用它来在不存在的浏览器中使用它(以及类似方法)。 我知道一些问题,但不是哈希表。 扩展时可能会出现什么问题,使Google对此提出建议? 问题答案: 大多数人都错过了这一点。我认为,例如填充或填充标准功能,使其在较旧的浏览器中运行,是一个好主意。不要听那些讨厌的人。Mozilla甚至向您展示了如何在MDN上执行此操作。通常,