【问题标题】:Server crash may leak php source code?服务器崩溃可能会泄露 php 源代码?
【发布时间】:2014-08-24 10:21:16
【问题描述】:

我通常在我的国家浏览一个受欢迎的论坛,但连接显然要慢得多。

后来服务器崩溃,有时显示“Too many connections”错误,有时forum.php源代码被下载。

PHP 不应该只在服务器机器上执行吗?我不明白服务器崩溃如何泄漏 php 源代码。这是一个非常严重的安全问题,我们应该如何预防呢?

以下是服务器的一些信息:

系统:Linux VM35 3.5.5-1.el6.elrepo.x86_64 #1 SMP Thu Oct 4 15:44:44 EDT 2012 x86_64

服务器 API:CGI/FastCGI

服务器:nginx/1.2.8

更新:代码没有什么敏感的,所以我在这里发布php文件:forum.php

【问题讨论】:

  • PHP 源代码无论如何都不应该包含任何敏感内容;) 数据库密码的配置文件,抽象出数据库访问本身,诸如此类。
  • 你检查过forum.php的内容吗?肯定是 PHP 源代码还是生成的 HTML?
  • 是的,juts 想问同样的问题 :)
  • 不要使用调试语句检测生产代码。
  • 我看了一下源码。但这没有任何意义,因为该文件中没有解析任何内容(当时)。如果有错误,它可能在其他文件中,在这个文件之前加载和解析。

标签: php linux nginx fastcgi


【解决方案1】:

如果在尝试连接 MySQL 服务器时收到Too many connections 错误,这意味着all available connections are in use by other clients.

允许的连接数由max_connections 系统变量控制。从 MySQL 5.1 开始。当 MySQL 与 Apache Web 服务器一起使用时,它的default value is 151 可以提高性能。如果您需要支持更多连接,请为此变量设置更大的值。

但这不应该“崩溃”整个服务器。面对这种情况,PHP 代码不存在泄漏问题。

另外,如果你得到的是 PHP 源代码而不是由 forum.php 文件生成的 HTML,那么你应该检查你的网络服务器的日志,记住它发生的时间,因为那时它停止解析 PHP 代码.

但是,只要有可能,应用程序应该捕获这些错误、警告和通知,并以更友好的方式向用户显示。

【讨论】:

  • 是的,我知道连接错误。我想了解服务器崩溃如何泄漏 php 源代码
  • 我希望我可以检查服务器日志找出原因:(
  • 我明白了,您在该文件夹中是否有 .htaccess,它是否包含类似 application/x-httpd-phpAddType ... 或任何其他可疑代码的内容?
  • 我不主持论坛。我只是不小心下载了源代码
  • 你永远不会知道 :) 这可能是你黑客生涯的开始 :)
猜你喜欢
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 2011-01-01
  • 2014-03-08
相关资源
最近更新 更多