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

错误的PHP页面强制下载

  •  0
  • jerebear  · 技术社区  · 14 年前

    这是个奇怪的问题,但我想问的已经够多了。

    出于某种原因,有时浏览器会强制将一个PHP页面下载到浏览器中,并且它总是会得到0个字节。

    请注意,我不是要强迫下载,我非常熟悉头文件和强迫文件有意下载,我所说的是一个问题,即浏览器无法处理页面,因此它将其作为强制下载输出。

    一个例子:phpmyadmin 2.3.2在php4服务器和php5云服务器上运行。在php5云服务器上,如果我单击一个表上的“浏览”,它会试图将sql.php作为下载输出,结果它是空的。

    我知道细节是模糊的,我不希望有解决方案,就像一些想法在哪里寻找,或者如果其他人也经历过同样的事情。

    怪异的更新:

    当URL的所有大写字母中都有“select”一词时,它将中断。

    作品: phpmyadmin/sql.php?lang=en-iso-8859-1&server=1&db=371016_map_db&table=data_recovery&sql_query=select

    打破: phpmyadmin/sql.php?lang=en-iso-8859-1&server=1&db=371016_map_db&table=data_recovery&sql_query=select

    把那一个拉面!

    3 回复  |  直到 12 年前
        1
  •  1
  •   jerebear    14 年前

    答:

    事实证明,单词select、update和insert(yes,all caps)是rackspace云上的阻止词。您不能通过GET请求传递这些信息,只能通过POST。

    但是,如果您将它们更改为select、update和insert,它们就可以正常工作。似乎他们并没有阻止一切。

        2
  •  0
  •   Mark Snidovich    14 年前

    当我试图访问一个没有有效网络路由的服务器时,我已经看到了这一点。例如,我通过ssh在firefox中设置了一个隧道代理。然后尝试连接到本地主机-我下载了一个0字节的PHP文件。

    下载正在进行,因为它有一个PHP扩展,没有内容,并且服务器没有向您发送MIME类型,所以浏览器不知道如何处理它,而是返回到下载。

    听起来像是服务器配置错误。

    ps.停止使用php 4。

        3
  •  0
  •   mvds    14 年前

    根据我的经验,这有时会伴随着Web服务器的分段错误,因为PHP脚本的行为很糟糕(在 foo(){foo();} 崩溃的类型)

    分段故障记录在Apache错误日志中。