Як перевірити, що хтось має веб-сайт?


10

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

Ось кілька способів, які я бачив:

  • Завантажте незрозумілий ім'я HTML-файлу до кореневого каталогу із заданим вмістом
  • Додайте метатег або інший коментар десь у джерелі домашньої сторінки
  • Надішліть електронний лист на адресу @domainwearetryingtovalidate.tldза посиланням для підтвердження
  • Перевірте запис CNAME або TXT
  • Перевірте записи WHOIS
  • Фізично підтвердити, зателефонувавши або надіславши електронною поштою лінію підтримки, оновити записи вручну

Ось проблеми з цими методами для того, щоб:

  • Деякі конфігурації веб-сайту можуть не дозволяти просто завантажувати файл у корінь
  • Поганий дизайн сайту може дозволити користувачеві цього сайту самостійно додавати цей метатег
  • Веб-сайти, які надають послуги електронної пошти, роблять це марним; візьмемо gmail.comдля прикладу
  • Це занадто складно для більшості власників невеликих веб-сайтів, щоб зрозуміти, як це зробити
  • Вони є публічними; кожен може претендувати на те, що ким завгодно. Не кажучи вже про найчастіше неточні.
  • Огромна втрата часу

Чи є інші способи підтвердити, що користувач на вашому веб-сайті володіє певним веб-сайтом? З перерахованих нами методів, які з них найкращі та найгірші? Я наказав їх від кращого до гіршого, на мою власну думку, але хотілося б побачити, що думають і інші.

Я планую реалізувати одну або декілька з них у PHP.


3
Це, безумовно, питання програмування. Якби це було призначено для веб-майстрів, я б це помістив.

Щодо автоматизованого рішення, ви дотримуєтесь того, що ви перерахували. Інші великі компанії (тобто Google) використовують один із перших чотирьох варіантів. Я вважаю, що користувач не може виконувати одну з перших чотирьох.

1
@ rlb.usa Для веб-майстрів було б питання, якби я запитав, як додати запис CNAME до свого домену, щоб переконатися, що я ним володію для певної послуги

2
Я думаю, що першою проблемою, яку ви повинні вирішити, є вирішити: що означає "володіння" веб-сайтом? Бути адміністратором? Маєте доступ до файлової системи? Маєте законне право власності? Маєте мито з обслуговування за письмовою чи усною згодою? Оплата рахунків за хостинг? Оплата рахунків за домен? Платять дизайнерам?
Гонки легкості по орбіті

1
@Cyclone: Я буду працювати для вас безкоштовно, в силу того , що я повністю витрачати свій час внесок в це питання.
Гонки легкості по орбіті

Відповіді:


9

Я точно думаю

  • Завантажте незрозуміло названий html-файл у кореневий каталог із заданим вмістом

це найкращий шлях. Мені справді довелося це зробити один раз. І я не думаю, що багато конфігурацій веб-сайтів заважають вам це робити.

Якщо ви справді переймаєтесь цим, чому б не дозволити всі (безпечні) варіанти?


Щодо Вашого коментаря:

Так, але з системами MVC (такими як кодигітайтер), може бути непросто зрозуміти, як отримати доступ до фізичного файлу, який не є частиною основної системи

У цих рідкісних випадках відпустіть цих адміністраторів із записами CNAME / TXT або зателефонуйте їм :-)


1
Так ... саме там я і мав це зробити ;-)

2
Перші два я перераховані з інструментів для веб-майстрів google

@Cyclone, я згоден з вами, що перший здається більш захищеним, ніж другий.

Справа в цьому полягає в тому, що ви закінчуєте один нечітко названий файл за службу, захаращуючи кореневу директорію. Це не страшна вада, але є більш чисті альтернативи.
Боббі Джек

Хм .. Я думаю, ви тимчасово помістили туди невідомо названий файл під час перевірки.
aioobe

7

Завантажити незрозуміло названий файл - це шлях.

Ви написали недолік, що вони можуть не дозволити завантажувати файл у корінь. У цьому випадку це означає, що вони не володіють веб-сайтом, про що ви намагаєтесь дізнатися.


Саме так. Вам не потрібен "кореневий" доступ до сервера, тобто поза папкою htmlабо www.
Кріс Лаплант

Я маю на увазі, що заборонено в тому, що правила перезапису можуть ускладнити чи складно завантажувати файл

@Cyclone, правда, але, мабуть, досить рідко забороняють доступ до фізичного файлу HTML.

Так, але з системами MVC (такими як кодигітайтер), може бути непростим зрозуміти, як отримати доступ до фізичного файлу, який не є частиною основної системи

Я думаю, що CI все ще дозволяє отримати доступ до фізичних файлів HTML. Але про всяк випадок, ви також можете дозволити метод метатегів, щоб ваші користувачі не застрягли у випадку, якщо є проблема з їх файлом .htaccess або MVC.

1

Я рекомендую використовувати метатег ...

  • Додайте метатег

0

Особисто я б пішов з автоматизованою опцією електронної пошти.

Попросіть користувача ввести їх URL-адресу та адресу електронної пошти, переконавшись, що домен однаковий у обох випадках. Використовуйте ту ж систему, що і системи скидання паролів:

  • Створити випадковий хеш, який частково складається з поточного мікрочасу та домену
  • Зберігайте хеш у базі даних
  • Надішліть користувачеві електронний лист із посиланням для підтвердження, де параметр 'id' - хеш
  • Тепер користувач перевірений (видаліть рядок із бази даних)

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.