Htaccess - URL blokkeren maar niet subdirectories

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • hostler
  • Registratie: Juni 2009
  • Laatst online: 13-09 16:56

hostler

Yeahhh dude!

Topicstarter
Mijn vraag
De URL is zo opgebouwd:
wp-content/themes/thema/proefserie/index.php?/albums

(?albums is er omdat de applicatie van een derde partij is en dus niet op mijn server staat.)

Hierin staan een hoop albums die ik eigenlijk niet zichtbaar wil hebben. Een album is beveiligd met een wachtwoord. Het leek mij een goed idee om die URL een 403 te laten weergeven.

De URL om een album te bekijken is:
http://localhost:8080/wp-content/themes/thema/proefserie/index.php?/albums/view&id=1

Ik wil dus dat view geen 403 meer krijgt, zoals albums dat wel doet. Maar hoe?


Wat ik al gevonden of geprobeerd heb

<code>
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/thema/proefserie/index.php\?/albums).*
RewriteRule ^(.*)$ - [F]
</code>

Albums krijgt nu netjes een 403 maar view ook. Ik heb zelf een hoop gegoogled maar kwam niet op een juist antwoord uit. Volgens mij is dit niet te bereiken met <Files></Files>

Alle reacties


Acties:
  • +1 Henk 'm!

  • Just smile
  • Registratie: November 2005
  • Laatst online: 10:23
Wellicht zou je hier naar kunnen kijken, eventueel met nog een beetje tweaken:

code:
1
2
3
4
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} !albums/(.*)\.
RewriteRule . http://%{HTTP_HOST}/ [R,NC,L]

Acties:
  • 0 Henk 'm!

  • hostler
  • Registratie: Juni 2009
  • Laatst online: 13-09 16:56

hostler

Yeahhh dude!

Topicstarter
Just smile schreef op dinsdag 19 april 2016 @ 17:49:
Wellicht zou je hier naar kunnen kijken, eventueel met nog een beetje tweaken:

code:
1
2
3
4
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} !albums/(.*)\.
RewriteRule . http://%{HTTP_HOST}/ [R,NC,L]
code:
1
2
3
4
5
6
7
8
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/theme/proefserie/index.php\?/albums).* [OR]
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/theme/proefserie/index.php).*

RewriteRule ^(.*)$ - [F]

Options +FollowSymlinks
RewriteCond %{REQUEST_URI} !wp-content/themes/theme/proefserie/index.php\?/albums/(.*)\.
RewriteRule ^(.*)$ - [R,NC,L]


Hebbes. Thnx!

Probleem is wel dat je natuurlijk ook index.php weg kunt laten. dan kun je alsnog bij albums dmv de volgende structuur:

/wp-content/themes/thema/proefserie/?/albums

Echter lukt het niet om het zelfde te doen wanneer iemand enkel /?/albums gebruikt ipv /index.php?/albums

code:
1
2
3
4
5
6
7
8
9
10
11
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/theme/proefserie/index.php\?/albums).* [OR]
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/theme/proefserie/index.php).* [OR]
RewriteCond %{THE_REQUEST} ^.*(wp-content/themes/theme/proefserie/\?/albums).*

RewriteRule ^(.*)$ - [F]

Options +FollowSymlinks
RewriteCond %{REQUEST_URI} !wp-content/themes/theme/proefserie/index.php\?/albums/(.*)\. [OR]
RewriteCond %{REQUEST_URI} !wp-content/themes/theme/proefserie/\?/albums/(.*)\. 

RewriteRule ^(.*)$ - [R,NC,L]

[ Voor 39% gewijzigd door hostler op 19-04-2016 18:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Eigenlijk is wat je nu doet wel een beetje het probleem verleggen.
Ik weet dat de vraag eigenlijk is, m.b.v. .htaccess, maar.. beter is om dit probleem door middel van bestaande instellingen in Wordpress / de plugin, of door een custom coded oplossing / uitbreiding op de extensie die gebruikt is te bouwen.

Htaccess gebruiken om niet-fysieke bestanden/mappen te beveiligen is makkelijk, maar er is geen relatie meer met de applicatie. Vergeet jij of iemand dit dus ooit bij te werken (als de plugin wijzigt, of een instelling), is de hele beveiliging eraf..

Daarom ben ik van mening dat dit op applicatie-niveau moet gebeuren.

[ Voor 4% gewijzigd door Verwijderd op 21-04-2016 16:48 ]


Acties:
  • 0 Henk 'm!

  • hostler
  • Registratie: Juni 2009
  • Laatst online: 13-09 16:56

hostler

Yeahhh dude!

Topicstarter
Applicatie niveau zou ik ook doen als ik zelf de applicatie in beheer had. Deze draait echter bij een andere partij en er word betaald om gebruik te mogen maken van het systeem. Daarom probeer ik het op deze manier op te lossen.