8

PHP スクリプトを使用して、データベース (mysql) から XLS ファイルにデータをエクスポートしています。

ファイルのエクスポート プロセスは、Firefox と IE で正常に動作しています。

Google Chrome を使用してエクスポートしようとすると、エラーが発生します。

Google Chrome のエラーは

    Duplicate headers received from server

The response from the server contained duplicate headers. This problem is generally the result of a misconfigured website or proxy. Only the website or proxy administrator can fix this issue.

Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks.

これについて何か助けが必要です。

ありがとう

4

4 に答える 4

12

PHP エクスポート コードのヘッダー セクションに問題があったことがわかりました。間違った行と正しい行は次のとおりです。

正しくない

header("Content-Disposition: attachment;filename=\"".$this->filename."\"");

正しい

header("Content-Disposition: attachment; filename=\"".$this->filename."\"");

修正は、添付ファイル間にスペースを追加することです。とファイル名

お役に立てれば。

于 2012-05-28T09:54:50.470 に答える
9

私はこれと同じ問題を抱えていました。ただし、ごくまれにしか現れません。原因は似ていましたが、まったく同じではありませんでした。

正しくない

header("Content-Disposition: attachment; filename=$filename");

正しい

header("Content-Disposition: attachment; filename=\"$filename\"");

$filename にスペースが含まれていることがあり、その結果、mentec Chrome エラーが発生しました。

于 2012-11-05T13:56:37.060 に答える
2

私も同じ問題に直面しました。名前にコンマが含まれるファイルをダウンロードしているときに、「重複したヘッダーを受信しました」と表示され、Chrome のみで表示されます。Firefox では問題ありませんでした。その後、コードを から
header("Content-Disposition: attachment; filename=$myfilename");に 変更したところheader("Content-Disposition: attachment; filename=\"$myfilename\"");、問題なく動作しました。それがあなたのために働くことを願っています。

于 2014-10-07T07:33:05.487 に答える