トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/997

ページの作成や編集にはユーザ登録が必要です。

 FSWiki 3.6.5 Apache2 のエラーメッセージ - れおまる (2018年05月07日 16時46分54秒)

Apache2 のエラーメッセージに以下が記録されます。

CGI::param called in list context from lib/CGI2.pm line 106, this can lead to vulnerabilities. See the warning in "Fetching the value or values of a single named parameter" at /usr/share/perl5/CGI.pm line 412.

wiki3_6_5.zip を展開して、setup.sh を実行した状態のログです。

使用環境は Debian 9 です。

$ /usr/sbin/apache2 -v
  Server version: Apache/2.4.25 (Debian)
  Server built:   2018-03-31T08:47:16
  • CGI2.pmに下記を追加することで、エラーは回避できるかと思いますが、如何でしょうか - たった (2018年05月07日 18時21分30秒)
 use vars qw(@ISA);
 use strict;
 @ISA = qw(CGI);
 
+$CGI::LIST_CONTEXT_WARN = 0;
 #==============================================================================
 # コンストラクタ
 #==============================================================================
  • 上記、記述をわかりやすく修正させていただきました。たったさんのご指摘通りの修正にて警告は回避できます。根本的な対応としては現在検討中です。 - KG (2018年05月07日 18時51分23秒)
  • 正式採用するかどうかはわかりませんが、下記のように対策を検討しています。 - KG (2018年05月07日 20時36分03秒)
--- lib\CGI2.pm~    2017-11-30 16:06:48.000000000 +0900
+++ lib\CGI2.pm    2018-05-07 20:33:06.000000000 +0900
@@ -100,13 +100,18 @@
             }
         } else {
             return map { &Jcode::convert(\$_, "euc") } $self->CGI::param();
         }
     } else {
         if(defined($name)) {
-            return $self->CGI::param($name, $value);
+            if(CGI->can('multi_param')){
+                my @values = $self->CGI::multi_param($name, $value);
+                return $#values > 0 ? @values : $values[0];
+            } else {
+                return $self->CGI::param($name, $value);
+            }
         } else {
             return $self->CGI::param();
         }
     }
 }
  • 対策と言うより回避策にしかなりませんけどね。 - KG (2018年05月07日 20時48分56秒)
  • 有難うございます。お陰様でエラーメッセージは、無くなりました。 - れおまる (2018年05月08日 20時06分02秒)
お名前: コメント:

最終更新時間:2018年05月08日 20時06分03秒