Hallo Leute!
Ich hatte in den vorigen Monaten so ein Abschnitt in einem VHost angelegt:
<Location /icao/> Require all granted ProxyPass "http://172.16.94.130/icao/" min=3 acquire=30000 connectiontimeout=15 timeout=300 retry=5 keepalive=on ttl=600 ProxyPassReverse "http://172.16.94.130/icao/" </Location>
RewriteEngine on RewriteCond %{QUERY_STRING} !^key [NC] RewriteRule ^/icao/.*$ - [F,L] RewriteMap key "txt:/home/www/tiles/keys.txt" RewriteCond %{QUERY_STRING} key=(.*) RewriteCond ${key:%1|NIX} NIX [NC] RewriteRule ^/icao/.*$ - [F,L]
Damit konnte ich eine API-Key in die Datei keys.txt anlegen und die Dateien herunterladen, die unter /icao/ sind, nur wenn als Parameter eine gültige API-Key angegeben wurde.
Das funktioniert, allerdings verlangt es, dass das das einzige Parameter ist... Nun brauche ich für eine Möglichkeit, mehrere Parametern zu haben, und trotzdem den "key" (und nur den!) zu prüfen.
Leider fällt mir aktuell keine Möglichkeit ein, wie ich das machen kann...
Hat jemand ein Tipp?
Danke Luca Bertoncello (lucabert@lucabert.de)
Am 19.03.2021 um 19:46 schrieb bert schulze:
Hallo Bert
RewriteCond %{QUERY_STRING} key=([^&]+)
Ich habe inzwischen so das Problem gelöst:
RewriteCond %{QUERY_STRING} !key [NC] RewriteRule ^/opentopodata/.*$ - [F,L] RewriteMap key "txt:/home/www/tiles/keys.txt" RewriteCond %{QUERY_STRING} key=(.*) RewriteCond ${key:%1|NIX} NIX [NC] RewriteRule ^/opentopodata/.*$ - [F,L]
Scheint zu funktionieren...
Grüße Luca Bertoncello (lucabert@lucabert.de)
lug-dd@mailman.schlittermann.de