何年か前、某サイト作成支援サービス系サイトのトップページにアクセスしたら db_error Object ( ・・・・
[nativecode=Unable to connect to PostgreSQL server: could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "192.168.0.5" and accepting TCP/IP connections on port 5432?] ** pgsql://******:*******@tcp(192.168.0.5:5432)/ss_db )
パスワードだだもれのエラー (スコア:1, 興味深い)
何年か前、某サイト作成支援サービス系サイトのトップページにアクセスしたら
db_error Object (
・・・・
[nativecode=Unable to connect to PostgreSQL server: could not connect to server: Connection timed out (0x0000274C/10060)
Is the server running on host "192.168.0.5" and accepting
TCP/IP connections on port 5432?] ** pgsql://******:*******@tcp(192.168.0.5:5432)/ss_db
)
なるエラーが表示されてぶったまげたことがあります。(*は伏せてます)
そっこー運営している会社にメールしましたが、半日近く管理者用DBユーザーとパスワードが垂れ流し
Re:パスワードだだもれのエラー (スコア:1, 興味深い)
というか根本的に、エラーをブラウザに出す(という設定)は「世の中なめてる」よね。
たとえばCGIなら標準「出力」はお客様へ、そして標準「エラー出力」はバックヤードへ、それぞれ情報を出すものだし、アプリのほうもそう作るべきだし、Frameworkでも同様だし。
JavaServletとかでも発想は同じで、Web出力に繋がるOutオブジェクトは「お客様向け」のOut。
うーん、よく知らないがRailsみたいな発想だと、
「Developモードのときは簡便性のためにエラーもOutに出すが、
運用モードだとバックにのみ出す」ような設定をFWレベルで持っている、のかな?
#でもDevelopモードで運用したくなる悪魔の瞬間も存在するから、結局あぶないけどね。
>DB系
DBドライバが勝手にstdoutに出すっていう極道設計も現実に有り得るんだろうなあ。
※このばあい「極道楽」という原義に近い。おまえら遊びすぎ。
対策としては、
アプリとWebFWの層まではいいけど、
それより下位(たとえばDBドライバ)を呼び出すときは、
OutオブジェクトとかFileDescriptorとかを一時的にすりかえておく、
という一手間がFW側に必要になるといったところか?
#JSPの静的っぷりにうんざりしてるのでAC。まともな言語系ならば変数評価は遅延がデフォでしょうに。おまえはWindowsバッチファイルかと小一時間…orz
Re:パスワードだだもれのエラー (スコア:3, 興味深い)
> まともな言語系ならば変数評価は遅延がデフォでしょうに。
http://groovy.codehaus.org/ [codehaus.org]
そういう点ではGroovyは良いですよ。かなりLazyです。少しLazy過ぎてPHPの嫌なところを持っているところもありますが…。
http://grails.org/ [grails.org]
Grailsもご一緒にどうぞ。