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