Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Есть ли защита от копирования html кода странниц?

Есть ли защита от копирования html кода странниц?


     20.08.2016    Общие вопросы, jQuery, Общие вопросы по PHP, Хаки, Ламерские вопросы    5487

вопрос
Привет всем!
Есть ли защита от копирования html кода (статических) странниц?

от таких программ как:
HTTrack Website Copier
TeleportPro
wget
ну итд...


Очень интересует данный вопрос!?...

Ответил: HELP-ROOT


В / .htaccess

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteCond %{HTTP_USER_AGENT} ^Master\ Download
RewriteCond %{HTTP_USER_AGENT} ^ia_archiver
RewriteRule ^.* - [F,L]

35 комментариев

irrwisch
Юзер

irrwisch - 20 августа 2016 18:43 -

"ctrl+u" в браузере никто не отменял

LisER0707
Гости

LisER0707 - 20 августа 2016 18:59 -

в жизни все возможно ) но не это

hakypuhbiu
Юзер

hakypuhbiu - 20 августа 2016 23:46 -

Да все равно данный вариант не рабочий, я интересовался данным вопросом у хостеров думали час и так не решили эту задачу так как там например, у телепорт про юзер агент Explorer а блокировать его глупо. Да и если было бы возможно у всех бы стояло это.

progressive
Юзер

progressive - 21 августа 2016 06:58 -

А можно закодировать скрипт и что бы он работал в статической странице? (опасаюсь что конкуренты этот скрипт стырят себе на сайт! так как на прошлой версии сайта так и было)... если можно закодировать то чем лучше кодировать? ссылку можно?!

HELP-ROOT
Юзер

HELP-ROOT - 21 августа 2016 11:42 -

hakypuhbiu, Ключевое слово: Интересовался у хостеров )

hakypuhbiu
Юзер

hakypuhbiu - 21 августа 2016 14:01 -

HELP-ROOT,
Ключевые слова "нету решение этой проблемы".

progressive
Юзер

progressive - 21 августа 2016 13:17 -

HELP-ROOT,
Вот эти ключевые слова к главный .htaccess записать?
и при использовании данного софта? сайт будет не копироваться?

irrwisch
Юзер

irrwisch - 21 августа 2016 13:28 -

Ещё раз повторю, просмотр исходного кода в браузере никто не отменял, хоть чем вы кодируйте, хоть чем запрещайте копирование, html, js, css и img всегда можно скопировать. Смеритесь с этим.

HELP-ROOT
Юзер

HELP-ROOT - 21 августа 2016 13:59 -

progressive,
Да, эти правила запрещают подключение к сайту юзерагентов, которые используют эти программы.
При попытке скачать ваш сайт ими, будет отдоваться ошибка 403 (forbidden)
Но как ответил irrwisch, это не мешает просмотру исх кода, то есть ваш код, и все css,js файлы могут быть взяты от туда.
Запрета на просмотр исх кода не существует

HELP-ROOT
Юзер

HELP-ROOT - 21 августа 2016 14:05 -

irrwisch,
Согласен полностью, но вряд ли кому-то нужен геморой, вытаскивать по отдельности все стили, картинки, скрипты.
Проще плюнуть на этот сайт, найти подобный и выкачать полностью.
Так, что думаю, что указанный код в ответе, лишним не будет, если чел так беспокоится о своем сайте =)
Не сайт спасет, так нагрузку на сервант снизит )))

irrwisch
Юзер

irrwisch - 21 августа 2016 14:15 -

Через браузер сохраняем страницу и вот у вас все картинки, css и скрипты, при этом никакой головной боли. и если в папке шаблона есть .htaccess, запрещающий доступ в папку шаблона

Order allow,deny
Deny from all

<FilesMatch "\.(css)$|^$">
   Order deny,allow
   Allow from all
</FilesMatch>

то никакая программа не сможет скачать исходники (tpl файлы), так что код приведённый вами в ответе лишняя трата ресурсов (на определение юзер агента).

HELP-ROOT
Юзер

HELP-ROOT - 21 августа 2016 14:27 -

irrwisch, Успокойтесь, по берегите нервы. ))
По идее суть вопроса:

от таких программ как:
HTTrack Website Copier
TeleportPro
wget
ну итд...


Я дал код. В чем проблема-то???
Если вы не согласны с кодом, то продолжайте =)

irrwisch
Юзер

irrwisch - 21 августа 2016 14:32 -

да я и не нервничал, и не говорил, что Ваш код не правильный, я просто сказал, то что он просто создаст лишнею нагрузку апачу, из-за того, что каждый запрос будет проверятся на юзер агент и сверятся со списком.

HELP-ROOT
Юзер

HELP-ROOT - 21 августа 2016 14:38 -

irrwisch,
Бог ты мой! О какой нагрузке вы говорите? С каких пор проверка юзерагентов грузит сервант???
Раскидайте мне по этому поводу, будьте так добры, что бы я знал на будущее =)

ПафНутиЙ
Админ

ПафНутиЙ - 21 августа 2016 15:40 -

Как показывает практика, сайт, который пытается "защитить" свои ресурсы - как минимум никому не нужен в качестве источника этих ресурсов имхо.

Каков вопрос - таков и ответ. Просто помните об этом.

progressive
Юзер

progressive - 21 августа 2016 15:44 -

ПафНутиЙ,
типо стремный сайт? или я не так понял тебя?!

ПафНутиЙ
Админ

ПафНутиЙ - 21 августа 2016 16:04 -

Как правило да, но бывают и исключения.
В общих случаях хватает защиты от домохозяек в виде запрета ПКМ и Ctrl+C, а в конкретных случаях, когда хотят стащить контент/оформление - от Ctrl+S в браузере защиты нет. Опять же никто не мешает запустить devtools и оттуда стянуть всё, что нужно.
Просто когда задаётесь подобным вопросом имейте ввиду, что всё, что выводится в браузере - можно беспрепятственно забрать себе на комп.

Каков вопрос - таков и ответ. Просто помните об этом.

progressive
Юзер

progressive - 21 августа 2016 16:39 -

ПафНутиЙ, Хорошо, по другому поинтересуюсь, поддерживает ли кодировку base64, DLE?
Допустим я закодирую скрипт который у меня находится в статической страници он будет обрабатыватся?
если нет то как сделать поддержку?

irrwisch
Юзер

irrwisch - 21 августа 2016 16:50 -

поддерживает, DLE не имеет никакого отношения к обработке кода, весь код обрабатывает веб-сервер.

ПафНутиЙ
Админ

ПафНутиЙ - 21 августа 2016 23:13 -

data:image/jpg;base64,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

вставьте этот base64 код в адресную строку, нажмите CTRL+S в браузере.

Каков вопрос - таков и ответ. Просто помните об этом.

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 01:39 -

и получим раскодированный результат )

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 01:41 -

не.. есть одна защита это полный canvas

nowheremany
Эксперт

nowheremany - 22 августа 2016 12:16 -

Канвас/Ява. Когда то в далёкие 2000 я даже делал OCX модуль на делфи, который отражался в браузере в в виде фрейма вроде бы.

Сейчас распространены сайты/читалки типа зеллюлозы в которых текст отображается в канве. Хотя и канву можно сохранить как картинку, ну а дальше через распознавание текста и вперёд.

Благодарность принимаю тут Связь

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 12:32 -

iqoption.com/traderoom
image.prntscr.com/image/0901646ecc844e03b7c379bccdc3bd86.png

вытяни дизайн )))
image.prntscr.com/image/d019af01759c4e9d9e7960a8eed0a2d9.png

irrwisch
Юзер

irrwisch - 22 августа 2016 13:02 -

Цитата: D0Gmatist
вытяни дизайн

А в чём собственно проблема? у них вся статика (js, css, img, flash) лежит на домене static.iqoption.com, нет никакой проблемы "вытянуть" дизайн.

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 13:37 -

а ха ха
Ты и вправду думаешь что css как то стилизует canvas? )))

irrwisch
Юзер

irrwisch - 22 августа 2016 15:20 -

Прочитайте определения для тега
<canvas>
а потом хахачите

Описание
Создает область, в которой при помощи javascript можно рисовать разные объекты, выводить изображения, трансформировать их и менять свойства. При помощи тега <canvas> можно создавать рисунки, анимацию, игры и др.

Что мешает стянуть JS и картинки, что бы "рипнуть" данную страницу.

PS: И да css стилизуют данный тег, задавая высоту, ширину, фон, размер и цвет шрифта внутри него

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 16:03 -

CSS не стилизует по факту а тупо позиционирует canvas.

На заборе тоже пишут много чего... ты сначала поработай с canvas и вникни как он может работать...
если у тебя постоянно структура ПЕРЕДАЁТСЯ ДИНАМИЧЕСКИ ЧЕРЕЗ JS с сервера... то в попу JS можно засунуть

irrwisch
Юзер

irrwisch - 22 августа 2016 16:14 -

У Вас слишком много ЕСЛИ... Если бы у бабки были яйца, она была бы дедом... Дизайн самой страницы стянуть можно в любом случае...

D0Gmatist
Юзер

D0Gmatist - 22 августа 2016 16:45 -

Разговор не об этом идёт

irrwisch
Юзер

irrwisch - 22 августа 2016 17:12 -

Да, разговор о том, как защитить исходный код страницы, если у человека через исходный код страницы стащили какой то модуль, на прошлой версии сайта, то не думаю что нельзя будет этого сделать с новым модулем (скорей всего просто какой то js код), даже если он будет работать через canvas. Это будет защита от школьников и домохозяек, но никак не от людей, которые занимаются рипом профессионально.

progressive
Юзер

progressive - 22 августа 2016 17:21 -

ЗАПРЕТ КЛАВИАТУРНЫХ ФУНКЦИЙ. CTRL+A, CTRL+U, CTRL+C И ОТКАЗ ПРАВОЙ КНОПКИ МЫШИ

function noselect() {return false;}
document.onmousedown = noselect;
document.oncontextmenu = noselect;
document.oncopy = noselect;
function addHandler(event, handler){
if (document.attachEvent) {
document.attachEvent('on' + event, handler);
}
else if (document.addEventListener) {
document.addEventListener(event, handler, false);
}
}
function killSelection(){
if (window.getSelection) {
window.getSelection().removeAllRanges();
}
else if (document.selection && document.selection.clear) {
document.selection.clear();
}
}
function noSelectionEvent(event) {
var event = event || window.event;
var key = event.keyCode || event.which;
if (event.ctrlKey && (key == 65 || key == 85)) {
killSelection();
if (event.preventDefault) { event.preventDefault(); }
else { event.returnValue = false; }
return false;
}
}
addHandler('keydown', noSelectionEvent);
addHandler('keyup', noSelectionEvent);

irrwisch
Юзер

irrwisch - 22 августа 2016 17:28 -

Ещё запретите "ctrl+shift+i", а так же отключите "меню браузера=>дополнительные инструменты=>инструменты разработчика" (этого вы сделать не сможите). Ну и в крайнем случае отключаем в браузере js и все кнопки мыши и комбинации клавишь снова работают.

progressive
Юзер

progressive - 22 августа 2016 18:00 -

irrwisch, браузера=>дополнительные инструменты=>инструменты разработчика" - это надо уже исходники каждого браузера смотреть!

irrwisch
Юзер

irrwisch - 22 августа 2016 18:10 -

С помощью JS вы не заблокируете меню браузера, как не будите стараться, так как js может отлавливать определённые действия юзера (нажатие клавиш/позиция курсора), только в пределах вьюпорта (viewport), за его пределами JS работать не будет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх