Назад | Перейти на главную страницу

Можно ли предотвратить хотлинкинг, когда у сервера 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"

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

RewriteCond %{HTTP_REFERER} !^http://11.22.33.44/ [NC]