「Oracle9iApplicationServer」上で環境変数を取得
Oracle9i Application Server9.0.2.3を使用して社内イントラを開発しているのだけど、
社内のセキュリティ監視ソフトを入れるために、
・クライアントPCのコンピュータ名(ホスト名、NetBIOS名)
をpl/sqlで作られたページから取得したい。
というお願いをされて色々と調べた。
PHPで言う、「getenv("REMOTE_HOST")」に対応するAPIを探すと、
■wwctx_api パッケージ
「wwctx_api.get_ip_address」でIPアドレスを取得できるらしい。
でもクライアントのホスト名を取るのはないよう。。
■owa_sec パッケージ
・「owa_sec.get_client_hostname ファンクション」
でずばりクライアントのホスト名を取得可能
IPもowa_sec.get_client_ipでOK
■owa_util パッケージ #リンクPDFです
・「owa_util.get_cgi_env(param_name in varchar2) ファンクション」
でCGI 環境変数を取得可能で、「'REMOTE_HOST'」を指定すると
クライアントのホスト名を取得可能
その他「REMOTE_USER」とかCGI環境変数を指定できる
ということがわかった。
でも何故か、
HTP.P('REMOTE_HOST : '||owa_util.get_cgi_env('REMOTE_HOST')||'<br>');
のように書いてホスト名が取れるかチェックするが、ダメなよう。。
原因は、9iasの下で動いているapacheのhttpd.confにある、
HostnameLookups ディレクティブにありました。
クライアントの IP アドレスの DNS ルックアップを有効にする
無事ONにしたらホスト名取得ができまちた。
めでたしめでたし。
それにしても「Oracle9i Application Server」なんか使ってる人口自体が少ないのか、情報少ないです。
こんな基本的な関数でもGOOGLEの検索結果17件とかなんですもん。
#HostnameLookupsをONにしたら結構パフォーマンスが劣化した。
#これはDNSの性能に依存するのかな。
isi
社内のセキュリティ監視ソフトを入れるために、
・クライアントPCのコンピュータ名(ホスト名、NetBIOS名)
をpl/sqlで作られたページから取得したい。
というお願いをされて色々と調べた。
PHPで言う、「getenv("REMOTE_HOST")」に対応するAPIを探すと、
■wwctx_api パッケージ
「wwctx_api.get_ip_address」でIPアドレスを取得できるらしい。
でもクライアントのホスト名を取るのはないよう。。
■owa_sec パッケージ
・「owa_sec.get_client_hostname ファンクション」
でずばりクライアントのホスト名を取得可能
IPもowa_sec.get_client_ipでOK
■owa_util パッケージ #リンクPDFです
・「owa_util.get_cgi_env(param_name in varchar2) ファンクション」
でCGI 環境変数を取得可能で、「'REMOTE_HOST'」を指定すると
クライアントのホスト名を取得可能
その他「REMOTE_USER」とかCGI環境変数を指定できる
ということがわかった。
でも何故か、
HTP.P('REMOTE_HOST : '||owa_util.get_cgi_env('REMOTE_HOST')||'<br>');
のように書いてホスト名が取れるかチェックするが、ダメなよう。。
原因は、9iasの下で動いているapacheのhttpd.confにある、
HostnameLookups ディレクティブにありました。
クライアントの IP アドレスの DNS ルックアップを有効にする
無事ONにしたらホスト名取得ができまちた。
めでたしめでたし。
それにしても「Oracle9i Application Server」なんか使ってる人口自体が少ないのか、情報少ないです。
こんな基本的な関数でもGOOGLEの検索結果17件とかなんですもん。
#HostnameLookupsをONにしたら結構パフォーマンスが劣化した。
#これはDNSの性能に依存するのかな。
isi