Um die Client-IP-Adresse mit Hilfe von PL/SQL auszulesen, können Sie zwei unterschiedliche Prozeduren verwenden:
Weitere Forum Einträge zu Thema:
https://forums.oracle.com/forums/thread.jspa?threadID=926109
http://redmine.lighttpd.net/boards/2/topics/3626
Das auslesen der Info in PL/SQL sieht dann so aus:
select owa_util.get_cgi_env('REMOTE_ADDR') from dual; select sys_context('userenv','ip_address') from dual;Das Ganze funktioniert super solange Sie keinen vorgeschalteten Proxy Server verwenden! Aber auch dafür gibt es einen Workaround. Stellen Sie folgende Einstellung in Ihrer http.conf ein:
RewriteCond %{REMOTE_ADDR} (.*) RewriteRule .* - [E=REMOTEA:%1] RequestHeader set X-Oracle-Cache-User "%{REMOTEA}e" # Außerdem müssen folgende Einstellung mit gesetzt werden: # 1. Konfiguration der RewriteRule muss in einem VirtualHost hinterlegt sein: <VirtualHost 192.168.0.1:80> # 2. Rewrite muss aktiviert werden RewriteEngine on # 3. ModHeader muss mit geladen werden LoadModule headers_module modules/mod_headers.soDie Lösung wurde von Dietmar Aust im Oracle APEX Forum auch noch tief greifender beschrieben: https://forums.oracle.com/forums/thread.jspa?messageID=1262928�
Weitere Forum Einträge zu Thema:
https://forums.oracle.com/forums/thread.jspa?threadID=926109
http://redmine.lighttpd.net/boards/2/topics/3626
Das auslesen der Info in PL/SQL sieht dann so aus:
select owa_util.get_cgi_env('HTTP_X_ORACLE_CACHE_USER') from dual;Info: Es kann vorkommen das andere Einstellungen verhindern das die Variable richtig durchgeroutet wird.