Можно ли предотвратить хотлинкинг, когда у сервера apache нет доменного имени?

У меня есть сервер LAMP + Wordpress, к которому я обращаюсь только с IP-адресом. Я не планирую получать доменное имя для сервера.

Я хочу знать, возможно ли предотвратить хотлинкинг ресурсов, если у моего сервера нет доменного имени?

Прямо сейчас я настроил свой.htaccess, как показано ниже, но, похоже, он не работает.

IndexIgnore */*
php_flag zlib.output_compression Off

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+.)?11.22.33.44/ [NC]
RewriteRule \.(zip|gif|jpg|js|css|png)$ - [F]

Изменить, чтобы добавить для @JennyD: я проверил access.log и не смог увидеть реферера.
Мой apache2.conf определяет пользовательский формат журнала под названием "комбинированный":

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

В моих сайтах с включенным форматом "комбинированного" доступа используется директива:

CustomLog ${APACHE_LOG_DIR}/access.log combined

Вот что показывает мой access.log:

12.34.56.78 - - [04/Jun/2013:11:19:02 +0200] "GET /wordpress/wp-includes/images/admin-bar-sprite.png?d=20111130 HTTP/1.1" 304 187 "http://11.22.33.44/wordpress/wp-includes/css/admin-bar.css?ver=20111209" "Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20100101 Firefox/21.0"

1 ответ

Я не думаю, что это (.+.)? должен быть там. В рабочей конфигурации я бы ожидал увидеть что-то вроде:

RewriteCond %{HTTP_REFERER} !^http://11.22.33.44/ [NC]
Другие вопросы по тегам