msnavigator |
Отправлено: 20 октября 2010 — 19:22
|
Junior Member
Покинул форум
Сообщений всего: 56
Дата рег-ции: Дек. 2009
Откуда: Москва
Репутация: 6
|
Прошу прошения возможно уже обсуждалось, не нашел.
Мой форум тематический и не единственный в своей сфере. К сожалению отношения участников конкурирующих пользователей, этих самых форумов, складываются не всегда лояльно друг к другу. Исходя из этого, весьма актуальной на сегодняшний день темой становится вопрос свежести и новизны информации выложенной на своём форуме и как следствие - её защиты.
Понятно, что на 100% перекрыть доступ на скачивание невозможно, но в моём случае 90% пользователей(учитывая тематику), само понятие HTML воспринимают как ругательство и поэтому вполне возможно остановить любителей изображений от копирования(ну или хотя бы большой их процент).
Отсюда два вопроса?
1. В идеале - сделать кнопку подобной HIDE, чтобы пользователь сам решал разрешать ему скачивать другим фото или нет.
2. В сети есть решения этой проблемы, скажем:Спойлер (Отобразить)CODE:<script language="Javascript">
<!--
var message="";
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2) {
(message);
return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
}else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false")
-->
</script>
либо CODE:<SCRIPT language="JavaScript">
<!--
function copyright()
{
if (event.button==2) { alert(‘Содержимое запрещено копировать!'); }
}
document.onmousedown=copyright;
function nocop()
{
alert ("Копирование запрещено администрацией сайта!");
return false;
} // -->
</SCRIPT>
…
<BODY ONCOPY="return noсop()">
но в таком случае у меня вопрос, в каком файле форума необходимо разместить данный код для корректной его работы?
Спасибо.(Отредактировано автором: 20 октября 2010 — 19:25) |
|
|
yura3d |
Отправлено: 21 октября 2010 — 07:53
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
msnavigator пишет:у меня вопрос, в каком файле форума необходимо разместить данный код для корректной его работы?
Оба приведённых фрагмента кода, по сути, блокируют работу контекстного меню (открываемого по клику правой кнопкой мыши) на странице. Для того, чтобы запретить открытие контекстного меню на страницах форума, откройте файл templates/ваш_скин/all_header.tpl, найдите строку:
CODE:<script type="text/javascript" language="JavaScript" src="javascript/JsHttpRequest/JsHttpRequest.js"></script>{$GLOBALS['fm']->_Link}
и после неё разместите строки:
CODE:<script language="Javascript">
<!--
var message="";
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2) {
(message);
return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
}else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false")
//-->
</script>
Однако, разумеется, у пользователей остаётся множество других способов скопировать изображения. Например, в Опере достаточно просто перетянуть изображение мышкой в адресную строку, чтобы получить его адрес и в дальнейшем скопировать. Поэтому в большинстве своём эти методы останавливают лишь нубов. Более действенной защитой от плагиата является вставка в изображение или фотографию т.н. водяного знака - полупрозрачного (необязательно) логотипа сайта с его адресом. Так поступают многие крупные ресурсы и порталы, которые дорожат своим контентом. Например, во всех обзорах техники на http://mobile-review.com/ соответствующие знаки на фотографиях имеются:
Преимущества такого подхода очевидны - эти знаки достаточно сложно удалить (тем более без потери качества изображения), для этого придётся каждое изображение индивидуально обрабатывать в графическом редакторе. Если же плагиаторы не позабодятся об их удалении, то у пользователей сторонних сайтов всегда будет информация о том, откуда было скопировано это изображение
Недостаток только один - реализовать автоматическую вставку водяного знака весьма сложно (например, он может закрыть важные детали фотографии, такие как лица людей и т.п.) Поэтому нужно предоставить пользователям выбор, чтобы они сами указывали наиболее удачное место для расположения знака. Разумеется, реализовать быструю вставку (без привлечения графических редакторов) водяного знака можно только для изображений, хранящихся на том же сервере, где установлен форум, поэтому от сторонних фотохостингов придётся отказаться |
|
|
electron |
Отправлено: 21 октября 2010 — 10:24
|
ExBB Team
Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009
Репутация: 341
|
вот, если поможет, реализация ватермарка с какой-то галереи. мож пригодится.
CODE:// watermark
$im = ImageCreateFromJPEG($_FILES['file']['tmp_name']);
ImageAlphaBlending($im, true);
$stamp = imagecreatefrompng('water.png');
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
ImageCopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
ImageJPEG($im,$_FILES['file']['tmp_name'],'95');
imagedestroy($im);
// watermark_end
$marge_right = 10; Это размещение знака от правого края в точках.
$marge_bottom = 10; Это от нижнего правого края, так-же в точках.
water.png - соответственно изображение знака, его ложить в корень. |
|
|
msnavigator |
Отправлено: 30 октября 2010 — 22:43
|
Junior Member
Покинул форум
Сообщений всего: 56
Дата рег-ции: Дек. 2009
Откуда: Москва
Репутация: 6
|
Уважаемый electron, обратите внимание на свою подпись, я - это те самые кривые ручки. Что бы Вам небыло скучно, задаю здесь разные вопросы . Здесь, так как считаю что это форум тех поддержки. Возможно повторюсь, Вы профессионалы в своей области, преклоняюсь. Простите, простоelectron пишет:вот, если поможет, реализация ватермарка с какой-то галереи. мож пригодится
на всё это я смотрю как баран на новые ворота , Вы хотели помочь, СПАСИБО, но если возможно, для категории людей плохо владеющих Вашим языком, пишите пожалуйста подробнее, что, куда и как... .
yura3d пишет:Оба приведённых фрагмента кода, по сути, блокируют работу контекстного меню
Юра, всё сработало, спасибо, НО...
Для форума, как оказалось , данное решение вопроса совершенно неприемлемо, т.к. из-за отсутствия контекстного меню - соответственно, отсеклась возможность вставки тех-же ссылок на изображения в сообщениях и т.д.
Прошу о помощи, тема очень актуальна, рассмотреть возможность реализации
msnavigator пишет:В идеале - сделать кнопку подобной HIDE, чтобы пользователь сам решал разрешать ему скачивать другим фото или нет
запрета на копирование изображений в каждом отдельном случае, а не форума в целом: <img src=”pic.gif” oncontextmenu="return false" ondragstart="return false" />
Функция oncontextmenu – отвечает за контекстное меню элемента, а функция ondragstart – отвечает за перетаскивание элемента.
Функция ватермарка несомненно полезна, но учитывая, что это форум с множеством пользователей(это не персональный сайт), как можно создать для каждого выкладывающего фотографию water.png(да ещё если учесть, что в виду отсутствия на данный момент фотогалереи, пользователи выкладывают фото через сторонние серверы, собственно с галереей также ничего не изменится при написании поста)?
Готов поддержать данную разработку.
Спасибо. |
|
|
msnavigator |
Отправлено: 31 октября 2010 — 10:47
|
Junior Member
Покинул форум
Сообщений всего: 56
Дата рег-ции: Дек. 2009
Откуда: Москва
Репутация: 6
|
electron
Приношу свои извинения за тон .
Свом постом я просто подтвердил вышесказанное
msnavigator пишет:Понятно, что на 100% перекрыть доступ на скачивание невозможно, но в моём случае 90% пользователей(учитывая тематику), само понятие HTML воспринимают как ругательство и поэтому вполне возможно остановить любителей изображений от копирования(ну или хотя бы большой их процент).
yura3d пишет:Поэтому в большинстве своём эти методы останавливают лишь нубов.
уровень подготовки в тематических областях у нас всех разный, я часто сталкиваюсь с тем, что обьясняю людям как вставить изображение в свой пост, так что процент "нубов" весьма и весьма велик.
yura3d пишет:Например, в Опере достаточно просто перетянуть изображение мышкой в адресную строку, чтобы получить его адрес и в дальнейшем скопировать.
Вот пример с которым этот номер не пройдёт(кстати у меня на форуме наиболее часто используемый):
CODE:[URL=http://www.radikal.ru][IMG]http://s016.radikal.ru/i334/1010/cc/f70afb5305a7.jpg[/IMG][/URL]
при перетаскивании такого изображения Вы просто получаете ссылку на радикал, и поможет здесь только просмотр исходного кода страницы, а это уже для многих просто тёмный лес.
Я обеими руками ЗА возможность вставки на форуме ватермарки, хотя сам подписываю все свои фотографии в графическом редакторе, так же как и видео, но это всё тот же вопрос не все могут или хотят это делать в редакторах.
И снова вернусь к своему вопросу, очень нужна возможность реализации запрета на скачивание в виде кнопки для отдельно выбранных файлов или фрагментов текста.
Спасибо. |
|
|
msnavigator |
Отправлено: 31 октября 2010 — 23:11
|
Junior Member
Покинул форум
Сообщений всего: 56
Дата рег-ции: Дек. 2009
Откуда: Москва
Репутация: 6
|
msnavigator пишет:Можно сделать так: при клике на кнопку вставки изображения (на панели редактора сообщений), помимо запроса URL изображения, будет также выводиться окно с вопросом, разрешать ли копирование изображения или нет.
Предложенный способ весьма заманчив, и возможно для собственного сайта наиболее логичен, но форум подразумевает общение некоторого количества пользователей, основная масса которых, вставляет картинки через радикал - тупо копируя ссылку №2.
Кроме того, помимо картинок есть фрагменты текста переведенные, либо написанные самими пользователями.
Исходя из этого, наверное, было бы лучше, написать отдельный бб код(по аналогии с HIDE).
P.s. Уже неоднократно на данном форуме наблюдаю глюк, получилось, что я цитирую самого себя, специально не стал править .
Спасибо. |
|
|
yura3d |
Отправлено: 31 октября 2010 — 23:18
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
msnavigator пишет:Исходя из этого, наверное, было бы лучше, написать отдельный бб код(по аналогии с HIDE).
Ок, за этот вариант и возьмёмся
msnavigator пишет:P.s. Уже неоднократно на данном форуме наблюдаю глюк, получилось, что я цитирую самого себя, специально не стал править
Опишите, что Вы делаете перед тем, как вставляется цитата с неправильным именем? Возможно, Вы кликаете на кнопку Цитата в блоке своего сообщения, а не того сообщения, текст которого Вы выделяете? |
|
|
msnavigator |
Отправлено: 2 ноября 2010 — 00:57
|
Junior Member
Покинул форум
Сообщений всего: 56
Дата рег-ции: Дек. 2009
Откуда: Москва
Репутация: 6
|
yura3d пишет:msnavigator пишет:P.s. Уже неоднократно на данном форуме наблюдаю глюк, получилось, что я цитирую самого себя, специально не стал править
Опишите, что Вы делаете перед тем, как вставляется цитата с неправильным именем? Возможно, Вы кликаете на кнопку Цитата в блоке своего сообщения, а не того сообщения, текст которого Вы выделяете?
описать уже не смогу, как тут вспомнить, но впредь буду внимательней. |
|
|
yura3d |
Отправлено: 2 ноября 2010 — 22:19
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
msnavigator
Приношу свои извинения за некоторую задержку с ответом, реализация бб-кода защиты готова. Следующая модификация добавляет ExBB поддержку бб-кода protect, который позволяет применить к выделенному фрагменту сообщения вышеописанные методы защиты от копирования
Для установки необходимо произвести следующие изменения
Откройте файл include/fm.class.php, найдите строку:
и под ней разместите строку:
CODE: "#\[protect\](.+?)\[/protect\]#is",
Далее в этом же файле, чуть ниже, найдите строку:
и под ней разместите строку:
CODE: "<span oncontextmenu=\"return false\" ondragstart=\"return false\">$1</span>",
Далее откройте файл language/russian/lang_front_formcode.php, найдите строку:
CODE:$this->LANG['HideMsgs'] = 'Сколько сообщений должен набрать пользователь, чтобы видеть скрытый текст? Для скрытия текста от гостей оставьте поле пустым:';
и под ней разместите строку:
CODE:$this->LANG['HelpProtect'] = 'Защита фрагмента сообщения от копирования: [protect]текст[/protect]';
Дальнейшие действия предполагают, что у Вас установлен расширенный редактор сообщений. Откройте файл templates/ваш_скин/form_code.tpl, найдите строку:
CODE:hide: {0:'[hide%]',1:'[/hide]',2:'{$fm->LANG['HelpHide']}'},
и под ней разместите строку:
CODE:protect: {0:'[protect]',1:'[/protect]',2:'{$fm->LANG['HelpProtect']}'},
Далее в этом же файле найдите строку:
CODE:<td><a href="#" name="hide" onclick="return bbcode(this);" onmouseover="help(this);"><img src="templates/InvisionExBB/im/russian/hide.gif" width="25" height="25" /></a></td>
и под ней разместите строку:
CODE:<td><a href="#" name="protect" onclick="return bbcode(this);" onmouseover="help(this);"><img src="templates/InvisionExBB/im/russian/protect.gif" width="25" height="25" /></a></td>
На этом всё, останется только закачать прикреплённую иконку protect.gif в папку templates/ваш_скин/im/russian. Эта иконка и будет отображаться как кнопка для вставки бб-кода protect на панели редактора сообщений |
|
|
kitNest |
Отправлено: 31 января 2011 — 15:22
|
Full Member
Покинул форум
Сообщений всего: 185
Дата рег-ции: Дек. 2010
Репутация: 6
|
Извините, а если расширенный редактор не установлен?
Какие тогда действия отменить\сменить?
Последние два? Вместо них обычные действия по созданию кнопки для RC1 ?
(Добавление)
Попробую сам добавить:
у кого не поставлен расширенный редактор в файле templates/ваш_скин/form_code.tpl после строки
CODE:<input type="button" class="button" name="list" value="List" style="width: 40px" onClick="bbcode(this)" onMouseOver="help(this)" />
ставим строку
CODE:<input type="button" class="button" name="protect" value="Protect" style="width: 50px" onClick="bbcode(this)" onMouseOver="help(this)" />
В моем примере не установлен мод скрытого текста, поэтому все приведенные Юрой изменения я ставил после строк касающихся Списка (List), а не скрытого текста.(Отредактировано автором: 31 января 2011 — 15:31) |
|
|
|