программно определить, если кто-то владеет веб-сайтом? - PullRequest
3 голосов
/ 30 июля 2010

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

Мое первое желание состояло в том, чтобы они добавили специальный комментарий в свой HTML-код, который может обработать моя программа.Например:

<!-- @webcode:1234 -->

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

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

<script type="text/javascript" src="http://yoursite.com/widget/widget/A4923D2342JF"></script>

Какие еще механизмы могут быть использованы для определения принадлежности / контроля над сайтом?

Ответы [ 7 ]

9 голосов
/ 30 июля 2010

Вот параметры, которые Google использует для Подтверждение домена :

  • Создание записи CNAME или TXT в настройках DNS вашего домена.Эти методы требуют доступа к настройкам DNS для вашего домена на веб-узле вашего домена.Какой метод вы можете выбрать (запись CNAME или TXT), зависит от того, что предлагается в вашей панели управления Служб Google.В настоящее время мы внедряем метод записи TXT, но все же просим многих клиентов создать запись CNAME.

  • Загрузка файла HTML на веб-сервер вашего домена Для этого метода требуется возможность загрузки файлов на веб-сервер вашего домена.Попробуйте сделать это, если у вас нет доступа к настройкам DNS вашего домена.

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

CNAME / TXT или загрузка файла HTML в корень домена является наиболеебезопасный, так как требует полного контроля над доменом.Если вы хотите быть немного более слабым, вы можете использовать метатег в головном узле, который не позволит кому-либо добавить комментарий на страницу.Все зависит от того, насколько вы хотите быть в безопасности.

4 голосов
/ 30 июля 2010

Делайте то, что делает Google для своих инструментов для веб-мастеров. Создайте уникальный ключ и попросите его поместить его в метатег в заголовке главной страницы. Маловероятно, что пользователь, не владеющий сайтом, сможет изменить содержимое в тегах <head></head>. Если они могут, сайт уязвим практически для любого вида вандализма и безнадежен.

2 голосов
/ 30 июля 2010

Вы можете добавить их в исходную идею, но принять комментарий, скажем, в теге <header> на сайте. Таким образом, вы можете избежать их добавления за комментарием в раздел «комментарии», как вы изначально предложили.

На самом деле я подписался на сервис, который делал именно это: include the special comment in the header section of your page.

2 голосов
/ 30 июля 2010

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

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

1 голос
/ 30 июля 2010

Они положили файл с трудно угадываемым именем на сервер?

например http://www.example.com/5gdbadcab234g3.txt

0 голосов
/ 30 июля 2010

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

Затем вы сохраняете все их домены и их хеши.в базе данных, и ваш скребок проверит, совпадает ли домен, который он очищает, с хешированной строкой комментария, если он проверил, то все в порядке.

0 голосов
/ 30 июля 2010

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

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

Строка должна состоять из URI, автора и отметки времени. Таким образом, даже если кто-то скопирует эту строку на свой веб-сайт, вы все равно сможете определить автора и страницу. Дополнительный бонус - вы сможете определить, была ли кража.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...