Adgangsrestriktion med mod_rewrite - hjælp til syntaks o.a.
Jeg har en webserver, der kører Apache samt en rapporthåndterings-applikation, der genererer rapporter fra en database.Jeg har to typer rapporter A og B og vil gerne lave 2 restriktioner på, hvem der må se disse rapporter.
1. A-rapporterne må kun ses af IP adresser i et bestemt range.
2. B-rapporter må ses af alle, men kun hvis requesteren er henvist fra en anden side på mit site.
Jeg skal bruge query-styrengen i URL'en til at skelne de to typer URL'er fra hinanden. Derfor regner jeg med at jeg skal bruge Apaches mod_rewrite til at lave restriktionerne.
MEN - jeg er ikke sikker på at de RewriteConditions og RewriteRules jeg har opfundet holder stik - og er heller ikke sikker på at syntaksen er rigtig.
Er der et klogt hoved, der vil kigge det igennem og give mig et bud på om det holder eller om jeg er helt i skoven?
Det jeg har forestillet mig er:
1. Blokér A-rapporter for alle der ikke ligger i det tilladte IP-range:
RewriteCondition %{REMOTE_ADDR} !^33\.(.*) (tilladt IP-range)
RewriteRule ^/application/viewer?us=INTERNAL_(.*) - [F]
2. Sikre at B-rapporter kun kan ses hvis requesten er henvist fra en anden side på mit site:
RewriteCondition %{HTTP_REFERER}
!^http://www.monsite/servlet(.+) (skal der \ foran / og . her?)
RewriteRule ^/application/viewer?us=EXTERNAL_(.*) - [F]
På forhånd tak!
/KiSc