2012-03-26 5 views
1

Ich möchte eine bestimmte Palette von IPS (Canada Country Block IPS) nur in der Lage sein, die POST-Methode auf meiner Anmeldeseite (http://www.mysite.com/) zu verwenden index.php? m = account_login) und meine Registrierungsseite (http://www.mysite.com/index.php?m=account_register) Allerdings möchte ich alle ips Zugang zu meiner Hauptseite http://www.mysite.com/index.php haben und können Verwenden Sie die POST-Methode dort wie unsere Kontaktseite (http://www.mysite.com/index.php?m=contactus).htaccess Erlaube POST-Methode für NUR cetain IP-Bereiche

Vielen Dank.

<Limit GET POST> 
order deny,allow 
# Country: CANADA 
# ISO Code: CA 
# Total Networks: 6,365 
# Total Subnets: 79,978,496 
allow from 23.16.0.0/16 
allow from 23.17.0.0/16 
allow from 24.36.0.0/16 
allow from 24.37.0.0/16 
... 
allow from 192.197.216.0/24 
allow from 216.254.192.0/19 
# 
deny from all 
</Limit> 

Antwort

1

Es gibt keinen geraden Weg, dies zu implementieren, aber ich habe das selbst mit kleinem Trick: -D Limit prüft nur Request-Methode, so gibt es keine Möglichkeit, eine Datei oder URL zu überprüfen. Lösung dafür ist FilesMatch Richtlinie zu verwenden. Aber hier haben wir ein Problem, wie ich hatte. QUERY STRING :-( Lösung für dieses ist RewriteRule

RewriteRule login.html index.php m = account_login [L, QSA] RewriteRule Register zu benutzen? ? .html index.php m = account_register [L, QSA]

Jetzt haben wir alles, was wir wollen.

<FilesMatch "(login|register)\.html$"> 
    <Limit GET POST> 
     order deny,allow 
     # Country: CANADA 
     # ISO Code: CA 
     # Total Networks: 6,365 
     # Total Subnets: 79,978,496 
      allow from 23.16.0.0/16 
      allow from 23.17.0.0/16 
      allow from 24.36.0.0/16 
      allow from 24.37.0.0/16 
      allow from 192.197.216.0/24 
      allow from 216.254.192.0/19 

      deny from all 
    </Limit> 
</FilesMatch> 

RewriteRule (register|login)\.html  index.php?m=account_$1&allow=yes [L,QSA] 
RewriteCond %{QUERY_STRING}  m=account_(register|login) 
RewriteCond %{QUERY_STRING} !allow=yes 
RewriteRule index\.php - [F,L] 

ich für die Protokollierung neue Datei erstellen bevorzugen in oder Registrierung RewriteRule s zu vermeiden

Verwandte Themen