2016-02-07 2 views
0

Я создал файл Htaccess и поместить его в папке public_html (корень моего сервера):Htaccess не позволяет домен моего

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://mdpcomics.ir/.*$ [NC] 
RewriteRule \.(jpg|jpeg|png|gif)$ https://blogvault.net/wp-content/uploads/2014/12/no-hotlinking.png [NC,R,L] 
</ifModule> 

блокирует хотлинкинг и показывает другое изображение. но это тоже не позволяет мой собственный домен.

то эта ссылка не должна показывать изображение: http://dl.mdpcomics.ir/logo.png

но эта ссылка должна показать это. Я хочу, чтобы он показывал изображение по этой ссылке: http://mdpcomics.ir/?imagename=logo

но это тоже не позволит.

я уже искал повсюду, и я попытался так много предложений, но все они работали следующим образом:

  1. каждый может видеть изображения
  2. никто не может видеть изображения, в том числе и сам Оо

мой сервер os - это linux, а моя панель - directadmin

Edit: я понял, что мой хозяин имеет подделку или недопустимый IP: 178.63.56.20320 я получил, что ф РНР код:

echo $_SERVER['REMOTE_ADDR']; 

ответ

0

Может быть, это ваша проблема: В вашем RewriteRule он говорит https://, но ваш RewriteCond тестирует http://. Вы можете сделать это проверить и просто добавив s?:

RewriteCond %{HTTP_REFERER} !^https?://mdpcomics.ir/.*$ [NC] 

Дальнейшие вещи, чтобы быть в курсе:

  • клиенты не будут посылать на Referer в не-HTTPS запроса, если запрос происходит от расположение HTTPS
  • некоторые клиенты никогда не посылает заголовок Referer или установить его на что-то совершенно другое для того, чтобы защитить свою частную жизнь

Для того, чтобы поймать этих случаев я хотел бы добавить еще одно условие:

# Assume client sent "real" Referer if it begins with http(s):// 
RewriteCond %{HTTP_REFERER} ^https?:// [NC] 

Недостатком является то, изображения могут быть hotlinked от места внешней HTTPS, если ваш сайт работает обычный HTTP.

+0

спасибо за ответ, но нет, не помогло, RewriteCond% {HTTP_REFERER}^https?: // [NC] делает хотлинкинг доступным для всех, и первый из них до сих пор не позволяет мне видеть картинки с моим собственным доменом, –

+0

@MDP Очень странно, я не знаю, почему REMOTE_ADDR так искажен. Ваши запросы включают даже заголовок Referer? Проверьте, связавшись с одним файлом 'test.html':' test 'другому' test.php': '' – Kontrollfreak