2016-03-31 5 views
2

Ich habe versucht, den Zugriff auf /admin und /admin/{anything} mit/admin nicht ein physisches Unterverzeichnis in silverstripe mit Ausnahme einer begrenzten Reihe von IP-Adressen zu blockieren und haben mit der folgenden .htaccess Datei Abschnitt, die zum größten Teil funktioniert .Wie blockiere ich den Zugriff auf einen Satz von URL-Mustern per IP?

<IfModule mod_rewrite.c> 
    SetEnv HTTP_MOD_REWRITE On 
    RewriteEngine On 
    RewriteBase '/' 

    RewriteCond %{REQUEST_URI} ^(.*)?(admin/(.*)|admin)$ 
    RewriteCond %{REMOTE_ADDR} !^(127\.0\.0\.1|216\.58\.208\.36)$ 
    RewriteRule ^(.*)$ - [R=403,L] 

</IfModule> 

aber es wurde mich darauf hingewiesen, dass dies nicht den nicht-umgeschriebenen Zugriff blockiert framework/main.php?url=admin und framework/main.php?url=admin/{anything}

Auf diesem Silvers kann auch durch Nginx bedient werden, die nicht .htaccess nicht unterstützt .

Wie kann ich diesen .htaccess-Abschnitt aktualisieren, um auch die nicht umgeschriebene Version zu blockieren, und wie würde ich dasselbe in nginx machen?

+2

Ich schlage vor, nicht 2 verschiedene Fragen im selben Thread zu fragen. 'nginx' Regeln unterscheiden sich grundlegend von' mod_rewrite'. Halten Sie sich an 'mod_rewrite' Regeln in diesem und sobald das gelöst ist, fragen Sie einen neuen für' nginx' – anubhava

Antwort

2

Hailwood, es gibt ein paar Module, die darauf ansprechen. Könnte ein guter Ausgangspunkt sein:

https://github.com/silverstripe-labs/silverstripe-securityextras

https://github.com/prij/silverstripe-iprestrictedpage

+0

Hey muskie9, Cheers für die Module. Leider müssen sie SS hochfahren, um die IP-Prüfungen durchzuführen. Ich suche das, bevor SS überhaupt weiß, dass es angefordert wird. – Hailwood

+0

@ muskie9, Link nur Antworten werden wahrscheinlich gelöscht werden, sollten diese Kommentare sein. Die Antworten sollten relevante Inhalte enthalten. – wmk

+1

@Hailwood, aus Neugier, warum willst du das machen, bevor SS hochfährt? Wenn Sie diese Verarbeitung in SilverStripe ausführen, werden bei der Verarbeitung möglicherweise noch einige weitere Systemressourcen benötigt. Die Implementierung verschiedener Lösungen hängt jedoch davon ab, ob Sie eine Apache- oder Nginx-Installation ausführen. – Turnerj

Verwandte Themen