アカウント名:
パスワード:
ふせげた?
防げない、実装の問題じゃないしJNDI lookupという機能のせいなので
ログのパースでJNDI lookupを発生させようとする発想のせいだろ。スクリプト言語で言えばログの文字列に対してevalするようなものだ
この機能、何で必要だったんですかね…NOLOOKUPとかいうオプションがあるあたり、作った側も「これ要るの」っていう疑問があったんじゃないですかね…誰かこれなくなると困るひと、コメントお願いします。
来るべき2010年代においては、分散オブジェクト指向プログラミングが目指す「ネットワークこそがコンピュータ」思想が現界に体現され、30億のデバイスで走るJavaにおいては、クラスがJNDIを用いてTCP/IP経由でロードされ、そのクラス名はLDAPを用いて解決されることも当たり前になると予想されるのです。したがって、ログ取得ライブラリは、若し設計者がそのようにネットワーク上に分散したクラス名を解決して記録する必要があるとしたならば、そのクラスをメモリ上に展開し、まさしくコンストラクタを実行し、得られたクラス名を正しく記録することが、当然、求められるのです。何言ってんだこいつ。
2020年代の言語で同じことを言うと「だってminifyしたjQueryでエラー出た時min.jsじゃない方CDNから取ってきて突き合わせてスタックトレース出たら便利じゃん、それのJava版」となります。これがjsだとSame-Originポリシーがあって安易に勝手サーバからは読み込めないわけですが、それこそが沈んでるコメに付いてるコメントの「思想がお花畑」ではないということなのでしょう。
クライアントサイドの話ならJavaアプレットなんて何もできないくらい制限されてのに
jQueryてかPHPとかJavaScriptはドメイン(正確にはIPアドレス)を元にライブラリをリンクしたりするわけだがある日そのリンク先が変更されて大惨事ってケースが起こりうる気がするが意外と起こらないので不思議。
え、今まで何度もドメイン期限切れで再取得したところが悪さして変なページ読み込んじゃう問題起きてるじゃないか自サイトにコピー置いとかないとダメだよ
個人的には、「これが要る」と仮定しても、(1)ログライブラリ側で実装する様なやり方は、ログライブラリの機能過剰(機能分散のバランス不良)(2)セキュリティ対策として、信頼できるサーバリスト等の制限が不可欠(多分、ネットワーク設計側(ファイヤーウォール)でアクセスコントロールさせる想定だったと思う。マイクラサーバの様に直接の公開サーバで使われることを想定していなかった(想定が不十分だった)。)ということと思う。
>作った側も「これ要るの」っていう疑問があったんじゃないですかね
これは、筋違いですよ。ふつうに考えて、NOLOOKUPの様なオプションは、デバッグ機能ですから。使う人が少ないけど、デフォルト無効にするべき、とまでは考えなかったんでしょう。(セキュリティ想定が足りなかったんでしょう。)猜疑心にとらわれると思考が嵌りますよ。
致命的なエラーが発生してサーバ自動停止メールかツイッターかなんかに通知みたいなケースでらくできる。ログをリアルタイムないし周期的に監視してものによっては通知を飛ばすどうでもいいのはスルーみたいなツールは多い。それを一歩踏み込んでログをスクリプトかしちまえみたいなやつ。これいるのよりは多機能ロギングより高速動作を優先したい人向けに無効化オプションをつけたんでしょう。
javaって思想がお花畑なんだよなー。インターネットが平和で善意に満ち溢れた理想の世界っていう思想が根っこにある。1.5、1.6ぐらいから後付けでどんどんセキュリティ強化してくんだけど、言語やJREではなくて、エコシステム全体の古参の根っこがお花畑。
最近の言語は、一つ間違えば即死のサザンクロスシティが前提。
log4jの1.xだとなくて、2.0で追加された機能っぽいですよね
なんで追加されたの?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
Rustさんなら (スコア:0)
ふせげた?
Re: (スコア:0)
防げない、実装の問題じゃないし
JNDI lookupという機能のせいなので
Re:Rustさんなら (スコア:3, すばらしい洞察)
ログのパースでJNDI lookupを発生させようとする発想のせいだろ。スクリプト言語で言えばログの文字列に対してevalするようなものだ
Re: (スコア:0)
この機能、何で必要だったんですかね…NOLOOKUPとかいうオプションがあるあたり、作った側も「これ要るの」っていう疑問があったんじゃないですかね…誰かこれなくなると困るひと、コメントお願いします。
Re:Rustさんなら (スコア:1)
来るべき2010年代においては、分散オブジェクト指向プログラミングが目指す「ネットワークこそがコンピュータ」思想が現界に体現され、30億のデバイスで走るJavaにおいては、クラスがJNDIを用いてTCP/IP経由でロードされ、そのクラス名はLDAPを用いて解決されることも当たり前になると予想されるのです。したがって、ログ取得ライブラリは、若し設計者がそのようにネットワーク上に分散したクラス名を解決して記録する必要があるとしたならば、そのクラスをメモリ上に展開し、まさしくコンストラクタを実行し、得られたクラス名を正しく記録することが、当然、求められるのです。何言ってんだこいつ。
2020年代の言語で同じことを言うと「だってminifyしたjQueryでエラー出た時min.jsじゃない方CDNから取ってきて突き合わせてスタックトレース出たら便利じゃん、それのJava版」となります。これがjsだとSame-Originポリシーがあって安易に勝手サーバからは読み込めないわけですが、それこそが沈んでるコメに付いてるコメントの「思想がお花畑」ではないということなのでしょう。
Re: (スコア:0)
クライアントサイドの話ならJavaアプレットなんて何もできないくらい制限されてのに
Re: (スコア:0)
jQueryてかPHPとかJavaScriptはドメイン(正確にはIPアドレス)を元にライブラリをリンクしたりするわけだがある日そのリンク先が変更されて大惨事ってケースが起こりうる気がするが意外と起こらないので不思議。
Re: (スコア:0)
え、今まで何度もドメイン期限切れで再取得したところが悪さして変なページ読み込んじゃう問題起きてるじゃないか
自サイトにコピー置いとかないとダメだよ
Re:Rustさんなら (スコア:1)
個人的には、「これが要る」と仮定しても、
(1)ログライブラリ側で実装する様なやり方は、ログライブラリの機能過剰(機能分散のバランス不良)
(2)セキュリティ対策として、信頼できるサーバリスト等の制限が不可欠(多分、ネットワーク設計側(ファイヤーウォール)でアクセスコントロールさせる想定だったと思う。マイクラサーバの様に直接の公開サーバで使われることを想定していなかった(想定が不十分だった)。)
ということと思う。
>作った側も「これ要るの」っていう疑問があったんじゃないですかね
これは、筋違いですよ。ふつうに考えて、NOLOOKUPの様なオプションは、デバッグ機能ですから。
使う人が少ないけど、デフォルト無効にするべき、とまでは考えなかったんでしょう。(セキュリティ想定が足りなかったんでしょう。)
猜疑心にとらわれると思考が嵌りますよ。
Re: (スコア:0)
致命的なエラーが発生してサーバ自動停止メールかツイッターかなんかに通知みたいなケースでらくできる。
ログをリアルタイムないし周期的に監視してものによっては通知を飛ばすどうでもいいのはスルーみたいなツールは多い。それを一歩踏み込んでログをスクリプトかしちまえみたいなやつ。
これいるのよりは多機能ロギングより高速動作を優先したい人向けに無効化オプションをつけたんでしょう。
Re:Rustさんなら (スコア:1)
javaって思想がお花畑なんだよなー。
インターネットが平和で善意に満ち溢れた理想の世界っていう思想が根っこにある。
1.5、1.6ぐらいから後付けでどんどんセキュリティ強化してくんだけど、言語やJREではなくて、
エコシステム全体の古参の根っこがお花畑。
最近の言語は、一つ間違えば即死のサザンクロスシティが前提。
Re: (スコア:0)
log4jの1.xだとなくて、2.0で追加された機能っぽいですよね
なんで追加されたの?