принцип
Примечание: Здесь есть очень интересная история, это история Реферера и Реферера, если вам интересно, вы можете узнать это сами.
Давайте сначала разберемся с принципом противоугонной цепи,В протоколе http, если вы переходите с одной страницы на другую, в поле заголовка будет Referer. Сервер изображений выполняет защиту от пиявки, определяя, исходит ли реферер из указанного доменного имени.
Если взломанный сайтhttpsпротокол, и если ссылка на изображение http, запрос с https на http будет без реферера из-за правил безопасности, таким образом, в обход анти-личной ссылки. При выводе официального изображения определяется источник (Referer), которым является веб-сайт, с которого осуществляется доступ к изображению.Если ваш сайт загружает изображение, то Referer:你的网站地址
; вашего URL точно нет в официальном белом списке, (当然作为可操作性极强的浏览器来说 referer 是完全可以伪造一个官方的 URL 这样也也就也可以饶过限制🚫
), так что вы не можете видеть картину.
Следовательно, если Referer не отправлен, источника нет. Тогда официальная сторона думает, что к ней обращаются напрямую из браузера, поэтому могут загружаться нормальные картинки.
Цель
горячая ссылкаЭто относится к отображению некоторого контента на вашей собственной странице, который не находится на вашем собственном сервере. Обычной практикой является получение адресов ресурсов на чужих серверах с помощью технических средств, обход чужих страниц отображения ресурсов и предоставление этого контента конечным пользователям непосредственно на их собственных страницах. Чаще всего некоторые маленькие сайты воруют ресурсы крупных сайтов (图片、音乐、视频
), для этих небольших станций метод хотлинкинга может снизить нагрузку на собственные серверы, поскольку реальное пространство и трафик приходят с чужих серверов. Воздействие на большую станцию действительно увеличивает нагрузку на сервер, а пользователи не свои😅
Таким образом, защита от пиявки предназначена для предотвращения возникновения такого поведения.После внедрения системы защиты от пиявки косвенные запросы ресурсов этих горячих ссылок могут быть экранированы, что может значительно снизить нагрузку на серверы и пропускную способность.Начать внедрить технологию защиты от пиявок.
выполнить
nginx
location ~* \.(gif|jpg|png|bmp)$ {
valid_referers none blocked *.ttlsa.com server_names ~\.google\. ~\.baidu\.;
if ($invalid_referer) {
return 403;
#rewrite ^/ http://www.xxx.com/403.jpg;
}
}
Все вышеперечисленное приходит кxxx.com
и доменное имя содержитgoogle
а такжеbaidu
Все сайты могут получить доступ к изображениям текущего сайта, если исходное доменное имя (белый список) отсутствует в этом списке.
Так$invalid_referer
Равно 1, вернуть пользователю 403 в выражении if, чтобы пользователь увидел страницу 403, если вы используете следующееrewrite
, тогда изображения с горячей ссылкой будут отображаться в формате 403.jpg.
apache
Создать в корневом каталоге.htaccess
документ
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !phpddt.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .*\.(rar|zip)$ http://www.xxx.com/ [R,NC,L]
Это также можно записать вApache
в файле конфигурации
.htaccess
Файл влияет на каталог, в котором он находится, и его подкаталоги. Вы можете поместить его в корневой каталог или подкаталог вашего проекта.
Приведенный выше код также легко понять:
RewriteCond %{HTTP_REFERER} !^$ [NC]
Разрешение пустого источника, т. е. пользовательского браузера, которому принадлежит вручную, разрешает доступ к файлу.
RewriteCond %{HTTP_REFERER} !phpddt.com [NC]
Разрешите доступ к самому сайту, а также разрешите доступ Baidu, Google и некоторым каналам позже.
RewriteRule .*\.(rar|zip)$ http://www.xxx.com/ [R,NC,L]
Здесь вы можете установить тип анти-хотлинкинга.Если вы используете хотлинкинг, вы можете перейти на главную страницу сайта.Этот сайт не использует хотлинкинг изображений.Если вы используете хотлинкинг изображений, вы можете установить альтернативное изображение для хотлинкинга:
RewriteRule .*\.(gif|jpg|png)$ http://xxx.com/logo.png [R,NC,L]
трескаться
😄Дорога высотой в один фут, а волшебная высота - в один фут. Поскольку вы знаете принцип, давайте взглянем на некоторые часто используемые решения для взлома. Если у вас есть лучшее, не забудьте оставить мне сообщение.
1. Если украденный ресурс изображенияhttp
Протокол кражи URL-адресов может использовать https для запроса из-за правил безопасности, не приносяreferer
, чтобы обойти анти-пиявку.
2. Добавьте предложение в заголовок HTML-кода<meta name="referrer" content="no-referrer" />
3. <img referrer="no-referrer|origin|unsafe-url" src="{item.src}"/>
4. https://images.weserv.nl/?url=`${你的图片地址}`
Поскольку скорость URL-адреса за границей немного медленная, эффект в порядке, цель состоит в том, чтобы вернуть неограниченное изображение, но формат GIF вернет jpg, то есть эффект анимации отсутствует.
5. Воспользуйтесь преимуществамиiframe
поддельный запросreferer
function showImg( url ) {
var frameid = 'frameimg' + Math.random();
window.img = '<img id="img" src=\''+url+'?'+Math.random()+'\' />
<script>window.onload = function() { parent.document.getElementById
(\''+frameid+'\').height = document.getElementById(\'img\').height
+\'px\'; }<'+'/script>';
document.write('<iframe id="'+frameid+'" src="javascript:parent.img;
" frameBorder="0" scrolling="no" width="100%"></iframe>');
}
6. Как упоминалось ранее, сервер может подделывать заголовки запросов для поиска соответствующих решений на разных языках, поэтому я не буду перечислять их все здесь.
Защита от растрескивания
Раз есть трещина, то конечно есть и общеупотребительный защитный механизм😄
1. Не допускаетсяreferer
Пусто (не рекомендуется, так как в некоторых браузерах с включенным режимом конфиденциальности или в ссылках на https-страницыreferer
пусто)
2. Смена адреса (lighttpd
основывается на эффективном времени,nginx
основывается наmd5
, IP-адрес меняется)
3. Подтверждение входа (например, для доступа необходимо войти в учетную запись веб-сайта)
Следующее, чтобы предотвратить зеркальное отображение веб-сайтов,iframe
1. Предотвратить зеркальное отображение веб-сайта (злонамеренный анализ и пересылку и т. д.)
Явление: IP-адрес, проанализированный моим веб-сайтом, является моим при доступе к доменным именам других людей.
Решение:
Вы можете написать это в http.ini
"RewriteCond Host: !^www.web\.cn$ RewriteRule (.*) http\://www\.web\.cn$1 [I,RP]"
.htaccess можно написать так
“RewriteCond %{HTTP_HOST} !^www.web.cn$ [NC] RewriteRule ^(.*)$ http://www.web.cn/$1 [L,R=301]”
Смысл кода очень прост: если доменное имя этого веб-сайта не «www.web.cn», оно автоматически перейдет на «www.web.cn». Таким образом, вы не будете бояться, что ваш веб-сайт с жестким обслуживанием будет скопирован другими.
2. Запретите URL-адреса быть iframe
Код: добавьте следующий код внизу страницы или в другие общие части.
<script type=”text/javascript>
if(window!=parent)
window.top.location.href = window.location.href;
< /script>
Смысл кода также очень прост.Используйте метод js, чтобы определить, является ли доменное имя в адресной строке доменным именем, привязанным к текущему веб-сайту.Если нет, то он перейдет к привязанному доменному имени, чтобы не бояться, что сайт заблокируют другиеiframe
.
Оригинальный адрес: (Ант)Woohoo.V5Anta.com/details/YZ E…