• ベストアンサー

URI Too Long エラーログについて

送信フォームをPHPにて作成しましたが、エラーログに「request failed: URI too long」が時々表示され困っております。 このエラーログ発生の回避方法がございましたらご教授お願いします。 レンタルサーバー情報 OS:FreeBSD 4.8-RELEASE-p13 httpd:Apache/1.3.27 Ben-SSL/1.48 (Unix) PHP:4.3.6 / 4.2.4-dev / 3.0.18-i18n-ja-3

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

このエラーはいろいろな原因があります。 (1) access_log にとんでもない長さのアクセスログがある場合。 ***.***.***.*** - - [11/Apr/2004:10:49:22 +0900] SEARCH /\x90\x02 \xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02 \xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02 \xb1\x02\xb1\x02\xb1\x02\・・・・・ これは、トレンドマイクロ社ではWORM_AGOBOT.PY、 シマンテック社では、W32.HLLW.Gaobot.gen と言われている、 Microsoft IISのWebDAVの脆弱性を突きに来るワームによるアクセスが原因です。 (2) GETメソッドの制限 GETメソッドではデータの長さが制限されています。 どれだけの長さまで許されるかは OS や WWW ブラウザなどの環境に依存します。 apache1系では URL部分も含めて 8190 バイトを越えると 414 Request-URI Too Large となるはずです。 日本語1文字2バイト、URLエンコードして6バイトなので、 1300文字程度しか書けません。 一行80文字でたった17行です。 また、UNIX では環境変数に代入できるデータの長さも制限があります。 GETを使っているのであれば、POSTメソッドを使ってみてはいかがでしょう?

oneworld
質問者

補足

ご対応ありがとうございます。 (1)ワームアクセスの場合は、受信できない現状維持が宜しいのでしょうか? (ワームアクセスがどの様な結果になるのか知らないので、変な質問ですみません) (2)下記のロジックで「get」は使用してないのです。 送信フォーム <form method="post" ENCTYPE="multipart/form-data" action="cgi-bin/send.cgi" id=form1 name=form1> php $name =$_POST['name'];

関連するQ&A

  • REQUEST_URIなどの環境変数の値を見たい

    REQUEST_URIやQUERY_STRINGなどの環境変数の値を直接確認したいです。 しかしphpなどの言語でなくlinuxの命令やapacheのディレクティブで出力するなどで知る方法はないでしょうか。 またphpでREQUEST_URIなどを確認した場合それはapacheのディレクティブ処理時の値と同じという保証はあるのでしょうか。 もう一つ、apacheをローカルで動作させている場合REQUEST_URI中でQUERY_STRINGに相当する部分が無いということはありうるでしょうか。 どれか一つでも助言頂けると助かります。

  • /var/log/httpd/error_logに大量のエラーログ

    お世話になります。 サーバを運用しているんですが、/var/log/httpd/error_logに大量のエラーログが出ます。 環境 CENTOS4 PHP5.1.6 mysql5 apache2.0 /etc/httpd/conf/httpd.confのerror_log部分はコメントアウトして再起動しました。 エラーログをはいているなにがしかのconf設定部分があるとおもい、ずっと探しているのですが、まったくわかりません。エラーログを吐かないようにしたいのですが、どうにか良い方法ございませんでしょうか。 エラーログの中身ですが、すぐいっぱいになるため、中身を見ようと思っても容量が大きすぎてコマンドラインから開くこともままなりません。大体一時間で50G程度のエラーログが出ています。 お忙しいところ大変申し訳ございませんがどうぞよろしくお願いします。

  • エラーログ(URI too long)

    サーバーのエラーログに1日2~7回程度、URI too longが記録されています。 アクセスログを見ると、中国、韓国のプロバイダからで "SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1… 以下\x02\xb1を1075回、\x90を6033回繰り返し(32732文字、確かにtoo long!) となっています。5日分見ましたがSEARCH /以下は全て同じです。 これは、いわゆる「攻撃」の類なのでしょうか? サーバーは414エラーを返しているようですが、サーバーの動作に支障はないのでしょうか?

  • Apacheのエラーログのログレベルについて

    Apache HTTPD/2.4.7で以下の設定を行っています。 ErrorLog "logs/error_log" LogLevel alert しかし、設定を有効にしても”alert”レベルより低いレベルのログがエラーログに出力されてしまいます。 --内容-- [Wed Dec 25 16:35:44.602828 2013] [mpm_event:notice] [pid 10971:tid 139866365474560] AH00494: SIGHUP received. Attempting to restart [Wed Dec 25 16:35:44.672589 2013] [mpm_event:notice] [pid 10971:tid 139866365474560] AH00489: Apache/2.4.7 (Unix) configured -- resuming normal operations [Wed Dec 25 16:35:44.672687 2013] [core:notice] [pid 10971:tid 139866365474560] AH00094: Command line: '/usr/local/apache-httpd/bin/httpd' 2つ目の[]内に記載されているのがログレベルであるという認識なのですが、なぜ、”alert”レベルで設定しているにもかかわらず、"notice"レベルのログが出力されているのでしょうか? 設定方法が悪いのでしょうか?ログレベルの表記の認識が違うのでしょうか?

  • httpdのエラーログをwebでリアルタイムでみたい

    php5、fedora4、apache2.0です。 httpdのエラーログ(/var/log/httpd/error_log)をリアルタイムに見たいのですが、何かPHPを使ってよい方法はないでしょうか? 今のところ、あるページにアクセスしたらSystem関数でシェルを実行し、ログをコピーしてきて表示するようにしていますが、上手くいきません。 $last_line = system('sh httpd_error.sh',$return_val); httpd_error.sh ---------------------------------- #!/bin/sh cp -v /var/log/httpd/error_log /var/www/html/log/ ----------------------------------- 「/var/log/httpd/error_log」へのアクセス権がないというエラーが出てしまいます。 PHPのsystem関数でシェルを実行した時って、誰が実行していることになるのでしょうか? また、これ以外にhttpdのエラーをリアルタイムにwebから見れる方法がありましたらご教授ください。 ヨロシクお願いします。

    • ベストアンサー
    • PHP
  • フォームのHTMLをそのまま受信可能なCGIを探しています。

    フォームのHTMLをそのまま受信可能なCGIを探しています。 フリーまたはシェアウェアで、WEBフォームに入力された状態のまま、受けとれるものを探しています。(PDFは除外して考えています) 欲を言えばHTMLとCSVデータの両方がダウンロードできるのであれば申し分ありません。 もちろん簡単なカスタマイズ作業で済むようであればそれでもかまいません。 レンタルサーバーのサーバー環境は以下のようなものです。 OS: FreeBSD 6.2 Perl: 5.8.8 PHP: 5.2.4 / 4.4.7 HTTPD: Apach/1.3.34 Ben-SSL 1.57(Unix) sendmail: (qmail)利用可 DB: MySQL5.0 または PostgreSQL ※パッケージならありますという情報でもありがたいです。

    • ベストアンサー
    • CGI
  • Apache(Webが見れない)

    LinuxES3にApache1.3.34を入れました。 エラーログを見ると Permission denied: access to /ante.htm failed because search permissions are missing on a component of the path とでます。 httpd.confでDocumentrootも設定しました。 エラーログよりパーミッションなのですが実際ドキュメントルートに挙げるユーザはローカルユーザです。 root権限じゃいけないのでしょうか? またどういった設定で回避可能でしょうか? よろしくお願いします。

  • Apacheが起動できない エラーログについて

    タイトルの通りです。 経緯は、ある理由によりxamppの再インストールを行ったのですが 必要ファイルのバックアップ漏れが判明したので システムの復元機能を利用して、復元ポイントまで状態を戻しました。 そして再度xamppを立ち上げるとapacheが起動しなくなってしまいました。(MySQLはOK.) エラーログを確認すると以下の記述がありました。 ■php_error_log [09-Mar-2016 04:18:09 Europe/Berlin] PHP Fatal error: Unknown: Failed opening required '-' (include_path='.;C:\xampp\php\PEAR') in Unknown on line 0 このエラー内容は何を表しているのでしょうか? 意見やアドバイスをよろしくお願いします。

  • ApacheでSSLを稼働させたいのですが、上手くいきません。

    ApacheでSSLを稼働させたいのですが、上手くいきません。 Apacheで現在、サイトの運営をしています。 困ったことに、SSLを導入したいのですが、上手く、出来ないんです。 詳しく、言いますと、他の人のサイトを参考に、セキュリティ証明書及び秘密キーを作りました。多分、上手くいっているはずです。それらしき、証明書とキーが生成されています。 いざ、httpd-ssl.confに場所をそれぞれ記述し、他のやるべき記述もして、httpd.confでhttpd-ssl.confを読みこませるように、コメントアウトを外して、いざ、Apacheを再起動させました。すると、再起動が出来ずに、Stopしてしまいました。 エラーログには以下のようなものがでました。 [warn] Init: Session Cache is not configured [hint: SSLSessionCache] このようなものが出たのですが、さらに、このエラーについて調べました。 どうやら、httpd-ssl.confの記述がおかしいのが原因のようです。 実際は分からないのですが。 知識不足で、対処が分かりません。どうか、ご指導の程、宜しくお願いします。

  • SSLの変更インストールについて cPanel

    SSLの変更インストールについて cPanel 海外のレンタールサーバーにあるサイトの証明書を *****.com から ++++.+++++.comに変更しようとしたら 下のようなエラーがでて、インストールできません。 https:*****.com > https:++++.+++++.com public_html > public_html/++++ サポートへも問い合わせていますがレスポンスが遅くて… 自力で解決できものなのか質問しました。 cPanelのSSLマネージャーから ca-bundle,crt,keyを用意して、SSLホストのインストールをするのですが… 自力で解決できる方法があれば教えてください。 よろしくお願い致します。 ---------------------------- SSL Host Setup Failed to install SSL certificate on the domain Error from ssl wrapper: Waiting for httpd to restart..............finished. httpd (lshttpd (lshttpd.4.0.12)) running as root with PID 59720 httpd (lshttpd (lshttpd.4.0.12)) running as root with PID 62066 httpd (httpd (lscgid.4.0.12)) running as root with PID 62067 httpd started ok Certificate verification passed The CRT for the domain ****.*****.com could not be installed. Apache produced the following errors: Syntax error on line 12 of /usr/local/apache/conf/php.conf: can't get fastcgi file info: /usr/local/cpanel/cgi-sys/php5(/usr/local/cpanel/cgi-sys/php5), errno: 2 Finished Install Process.. Unknown error ---------------------------- cPanelバージョン 11.24.5-STABLE_38506 Apacheバージョン 2.2.14 (Unix) PHPバージョン 5.2.12

専門家に質問してみよう