Как подтвердить, что пользователь владеет сайтом, таким как Google Analytics?

StackOverflow https://stackoverflow.com/questions/4420205

Вопрос

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

Это было полезно?

Решение

Google Analytics не требует, чтобы вы ничего не загружали в ваш корневой каталог, и не требует, чтобы у вас есть свой домен. (Он предоставляет дополнительную службу проверки, где она попытается сказать вам, если вы добавили фрагмент Google Analytics на свои страницы.)

Google Analytics принимает Любые Хиты на конкретную учетную запись и не подтверждают, кто владеет тем, какой сайт. (Это может редко вызывать проблемы, если кто-то схватит свой фрагмент Google Analytics, номер счета включен и использует его на своем сайте, но эти данные могут быть легко отфильтрованы.)

Немного Инструменты, такие как Google WebMaster Tools, требуют, чтобы вы подтверждаете, что у вас есть веб-сайт.

Двумя наиболее распространенными способами сертификации владения доменом являются:

  1. Вас просят загрузить файл с определенным именем в ваш корневой каталог, и он проверяет его.
  2. Вас просят создать запись DNS с определенными значениями, как правило, запись CNAME.

В обоих случаях сервисы проверяют, было ли изменение сделано, обычно позволяя пользователю инициировать проверку проверки (после того, как они завершили шаги). Предположительно, используя что-то вроде curl Чтобы увидеть, существует ли файл, и / пр, пинговая DNS домена, чтобы увидеть, существует ли запись.

РЕДАКТИРОВАТЬ:

Таким образом, общий метод выполнения номера - наставлять их создать файл с определенным именем и конкретным содержимым. Итак, скажем, вы говорите им создать страницу под названием bz239239239.html, и скажите им, что файл должен содержать текст checkbz239239239.

Затем, чтобы подтвердить, что они следовали вашему направлениям, (PHP образец)

$contents = @file_get_contents('http://example.com/bz239239239.html');
if(strstr($contents, 'checkbz239239239'))
{
 return true; //this condition means that the page exists and it contains the text that it should.
}

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top