代码之家  ›  专栏  ›  技术社区  ›  Sarfraz

如何在不访问php.ini文件的情况下禁用eval函数?

  •  2
  • Sarfraz  · 技术社区  · 15 年前

    有什么方法可以禁用吗 埃瓦 不从php.ini文件执行此操作。 我试过了 伊尼集 但即使这样也不行。

    基本上,我希望框架用户决定是否应该通过配置文件启用此函数。如果他们说不,我应该能够使用代码禁用它,因为我不能转到安装了框架的每个用户的服务器,并使用php.ini文件禁用它。

    如我所说,不带goint到php.ini文件,所以ini指令 禁用\功能 不应张贴在答案中。

    请帮忙。

    4 回复  |  直到 7 年前
        1
  •  7
  •   Björn    15 年前

    它不能工作,因为eval()不是一个函数-它是一个语言构造。你可以用禁用它 suhosin 是一个针对PHP的保护系统。这是我唯一知道的方法。

    来自PHP.net:

    Note: Because this is a language construct and not a function,
    it cannot be called using variable functions 
    
        2
  •  1
  •   just somebody    15 年前

    如果这是 MODYPHP (不是CGI)使用Apache,.htaccess可以工作。除此之外…运气不好。

        3
  •  1
  •   velcrow    7 年前

    https://github.com/mk-j/PHP_diseval_extension 允许在php7和php5中禁用eval。苏霍辛只在php5中稳定。

        4
  •  0
  •   Tim Ebenezer    15 年前

    我想你可以打电话来 override_function 有一个新的功能,什么都不做。(Req APD)