Как этот сайт узнает, что я скопировал данные (и как я могу это остановить?) [Закрыто]

-1

Перейдите на следующий веб-сайт: www.currys.co.uk - и посмотрите на любой продукт. Вот телевизор например:

http://www.currys.co.uk/gbuk/tv-and-home-entertainment/televisions/televisions/panasonic-viera-tx-49dx650b-smart-4k-ultra-hd-49-led-tv-10144937- pdt.html

Теперь выберите название продукта («LED-телевизор PANASONIC VIERA TX-49DX650B Smart 4k Ultra HD 49»), и вы увидите маленькую коробочку, сообщающую вам, что у них есть услуга сравнения цен, явно в попытке остановить вас от поиска в Google продукта и найти его дешевле в другом месте.

Это очень умный кусок кода, и я действительно не жалуюсь, как его использует этот ритейлер, но меня огорчает, что веб-сайт знает, когда я копирую из него информацию. Как они это делают, и как я могу это остановить? Я знаю, что это не Flash-апплет, потому что у меня включена функция «нажми и работай».

чайка
источник
Может быть, Java. Хотя я не уверен на 100%, просто идея. Я знаю, что вы можете тянуть местное время через Java или Flash.
NetworkKingPin
Нет, у меня не установлена ​​Java.
чайка
Я заметил, что если вы выделите какой-либо фрагмент текста, даже букву, сообщение придет. Это в исходном коде. Я считаю, что его настройка появляется только при копировании любой части этой текстовой строки. его в их веб-странице javascript addEventListener("copy",function(n){t=c.getString("tourguide.pricepromise.label"Название помечено как Tourguide.PricePromise. Что приводит к тексту, который вы видите, когда копируете его.
NetworkKingPin
1
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что это спам.
Ксавьерджаз
Это не так, хотя, глядя на это, я понимаю, почему вы пришли к такому выводу. Пусть админы решают, чего они хотят, но, пожалуйста, поймите, я не хотел ничего рекламировать.
чайка

Ответы:

0

Они широко используют Ajax Javascript на своей веб-странице. Ajax способен контролировать буфер обмена.

Можно легко создать сценарий, чтобы проверить, скопирован ли заголовок в буфер обмена, и отобразить всплывающее окно, как они это сделали здесь.

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

LPChip
источник
1
Хороший ответ, спасибо. Я ненавижу это, но это отличный ответ.
чайка
1

Глядя на код на странице, они используют Javascript для обнаружения метода копирования.

Если вы посмотрите на эту ссылку , есть хороший учебник о том, как реализовать эту функцию самостоятельно.


Из статьи (в случае, если ссылка когда-либо станет мертвой), будет работать что-то вроде этого:

<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>

<style type="text/css">
    span{
        color:blue;
    }
</style>

</head>
<body>
  <h1>jQuery copy, paste and cut example</h1>
  <form action="#">
    <label>TextBox : </label>
    <input id="textA" type="text" size="50" 
          value="Copy, paste or cut message here" />
  </form>

  <span></span>

<script type="text/javascript">

$(document).ready(function() {

    $("#textA").bind({
        copy : function(){
            $('span').text('copy behaviour detected!');
        },
        paste : function(){
            $('span').text('paste behaviour detected!');
        },
        cut : function(){
            $('span').text('cut behaviour detected!');
        }
    });

}); 
</script>
</body>
</html>

Стоит отметить, что, изменяя ссылочный объект $("#textA"), с которым связаны действия, вы можете изменить, какие элементы вы обнаружите копию (например, привязку к DIV, диапазону, целой странице и т. Д.).

Вы также можете изменить действие, изменив $('span').text('copy behaviour detected!');код внутри функции действия. Вместо этого вы можете использовать alert('copy detected');, вы можете вызвать функцию, показать (или скрыть) DIV, содержащий информацию, открыть всплывающее окно, очистить буфер обмена пользователя, чтобы скопированный текст на самом деле не копировал, почти все, что вам нравится.

Чтобы остановить это, отключите Javascript. Однако, если вы сделаете это, больше ничего не будет работать. Глядя на код на веб-сайте Currys, он не отправляет обратно на скопированные вами серверы - поэтому, хотя веб-страница предупреждает вас о том, что вы копируете текст, владельцы веб-сайтов, похоже, не регистрируют и не записывают это где-либо

Fazer87
источник
Спасибо, но меня больше беспокоило, как это остановить, а не как сделать это самому.
чайка
Отключите Javascript ... и если вы это сделаете, больше ничего не будет работать. Глядя на код на веб-сайте Currys, он не отправляет обратно на скопированные вами серверы - поэтому, хотя веб-страница предупреждает вас о том, что вы копируете текст, владельцы веб-сайтов, похоже, не регистрируют и не записывают это где-либо
Fazer87