gpt4 book ai didi

codeigniter - 出于安全原因,error_reporting() 已被禁用

转载 作者:搜寻专家 更新时间:2023-10-31 22:09:29 24 4
gpt4 key购买 nike

我在 codeigniter 框架中创建了一个项目并将其上传到主机,主机说该站点很快就会填满服务器的日志文件。

所以我检查了错误日志,对于我收到的每个请求:

error_reporting() has been disabled for security reasons /index.php on line 36
set_error_handler() has been disabled for security reasons /system/core/CodeIgniter.php on line 72

我问主持人他是否可以打开这些选项,因为 codeigniter 需要它们来处理错误,但他们回答说我将不得不编辑我的代码以在他们的服务器上禁用这些功能。

我不想编辑 codeigniter 的核心文件,而且我真的不明白为什么它被禁用了。你们中有人知道修复此错误的简单解决方案,或告诉托管商为我更改此设置的一些参数吗?

最佳答案

error_reporting 功能可能被 Web 主机禁用的原因是为了防止错误的 PHP 程序向最终用户输出崩溃消息,黑客可以利用这些消息来找出如何获得访问服务器。 PHP 崩溃消息包含许多可能对黑客有用的详细信息,包括目录路径和有关正在使用的框架软件的信息。

禁用生产站点的错误报告通常被认为是一种好的做法,这样这些消息就不会显示给最终用户。为开发打开它,为生产关闭它。

这解释了为什么您的主机禁用了它。

至于如何防止“错误报告已禁用”消息进入日志:嗯,不幸的是,你不能,除非你编辑代码以删除对 error_reporting 的引用。

CodeIgniter 手册包含此页面:http://ellislab.com/codeigniter/user-guide/general/errors.html

在这个页面上,它指出 error_reporting 代码在 index.php 中,他们鼓励您编辑它以在您的代码进入后停止报告错误生产。

换句话说,CodeIgniter 说:“请改变这个”。所以不用担心不想更改核心文件(index.php 无论如何都不是真正的核心文件)。

关于codeigniter - 出于安全原因,error_reporting() 已被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14357025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com