2012-05-20 1 views
0

Я хочу использовать правила .htaccess для обеспечения безопасности для Wordpress в моем блоге. В принципе, я хочу, чтобы запретить соединение, когда:Использовать .htaccess для ограничения доступа на основе referrer?

  • UserAgent пуст
  • ссылающейся строки пуста
  • ссылающейся строки несколько выбранных файлов PHP НЕ из моего домена

Я Приведем следующий код. Я на правильном пути? Если нет, предложите, что я должен сделать, чтобы исправить это. Спасибо!

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP_REFERER} ^$ 
    RewriteCond %{HTTP_USER_AGENT} ^$ 
    RewriteCond %{REQUEST_URI} wp-comments-post\.php* [NC] 
    RewriteCond %{REQUEST_URI} wp-admin\.php* [NC] 
    RewriteCond %{REQUEST_URI} wp-login\.php* [NC] 
    RewriteCond %{HTTP_REFERER} !.*example.com.* [NC] 
    RewriteRule . - [R=403,L] 
</IfModule> 
+0

Я думаю, вам нужно добавить несколько '[OR]' s. Обратите внимание, что некоторые программы и прокси удаляют заголовок реферера. – Gerben

ответ

0

Хорошо, я понял, что понял. Я был в состоянии придумать сниппета, что я думаю, что работает:.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_URI} wp-comments-post\.php* [NC,OR] 
    RewriteCond %{REQUEST_URI} wp-admin\.php* [NC,OR] 
    RewriteCond %{REQUEST_URI} wp-login\.php* 
    RewriteCond %{HTTP_REFERER} !.*tambnguyen.com.* 
    RewriteRule . - [R=403,L] 
</IfModule> 

Похоже, я не могу получить доступ к http://tambnguyen.com/wp-admin/ с помощью нового окна браузера/вкладки, когда я не авторизованы я могу нажать на секретная ссылка для входа в систему. Кроме того, как только я войду в систему, я могу без проблем посетить http://tambnguyen.com/wp-admin/.