Come verificare che qualcuno possieda un sito Web?


10

Sto cercando di pensare a come, nel modo più sicuro possibile, verificare che un utente possieda un sito Web che dichiara di possedere.

Ecco alcuni modi in cui ho visto:

  • Carica un file HTML con un nome oscuro nella directory principale con i contenuti forniti
  • Includi un meta tag o un altro commento da qualche parte nella fonte della home page
  • Invia un'e-mail a un indirizzo @domainwearetryingtovalidate.tldcon un link di verifica
  • Controlla un record CNAME o TXT
  • Controlla i record WHOIS
  • Convalida fisicamente chiamando o inviando un'e-mail alla linea di supporto, aggiornando manualmente i record

E qui ci sono i problemi con questi metodi, al fine di:

  • Alcune configurazioni di siti Web potrebbero non consentire il semplice caricamento di un file nella directory principale
  • Una cattiva progettazione del sito potrebbe consentire a un utente di quel sito di aggiungere da sé questo metatag
  • I siti Web che forniscono servizi di posta elettronica lo rendono inutile; prendiamo gmail.comad esempio
  • È troppo complesso per la maggior parte dei proprietari di piccoli siti Web per capire come fare
  • Quelli sono pubblici; chiunque può pretendere di essere chiunque. Per non parlare del più delle volte inaccurate.
  • Huuuuge perdita di tempo

Esistono altri modi per verificare che un utente sul tuo sito possieda un determinato sito Web? Dei metodi che ho elencato, quali di questi sono i migliori e i peggiori? Ho ordinato loro dal meglio al peggio secondo me, ma mi piacerebbe vedere anche quello che pensano gli altri.

Ho intenzione di implementare uno o più di questi in PHP.


3
Questa è sicuramente una domanda di programmazione. Se fosse pensato per essere su webmaster, lo metterei lì.

Per una soluzione automatizzata, sei bloccato su ciò che hai elencato. Altre grandi aziende (ad esempio Google) utilizzano una delle prime quattro opzioni. Lo troverei incredibilmente irregolare per un utente non riuscire a fare uno dei primi quattro.

1
@ rlb.usa Sarebbe una domanda per i webmaster se chiedessi come aggiungere un record CNAME al mio dominio per verificare che lo possiedo per un determinato servizio

2
Penso che il primo problema che devi risolvere sia decidere: cosa significa "possedere" un sito web? Essere un amministratore? Avere accesso al filesystem? Hai un diritto di proprietà, giusto? Avere un obbligo di manutenzione mediante accordo scritto o parlato? Pagare le fatture di hosting? Pagare le fatture del dominio? Pagare i designer?
Razze di leggerezza in orbita

1
@Ciclone: sto lavorando gratis per te, in virtù del fatto che sto sprecando completamente il mio tempo a contribuire a questa domanda.
Razze di leggerezza in orbita

Risposte:


9

Penso assolutamente

  • Carica un file html dal nome oscuro nella directory principale con i contenuti forniti

è il modo migliore per andare. In realtà ho dovuto farlo una volta. E non credo che molte configurazioni di siti Web ti impediscano di farlo.

Se sei davvero preoccupato per questo, perché non consentire tutte le opzioni (sicure)?


Per quanto riguarda il tuo commento:

Sì, ma con i sistemi MVC (come codeigniter), può essere una seccatura capire come accedere a un file fisico che non fa parte del sistema principale

In questi rari casi, lascia che quegli amministratori scelgano i record CNAME / TXT o chiamali :-)


1
Esatto ... è proprio lì che dovevo farlo ;-)

2
I primi due che ho elencato provenivano da strumenti per i webmaster di Google

@Ciclone, concordo con te sul fatto che il primo sembra più sicuro del secondo.

La cosa che fa schifo è che si finisce con un file con un nome oscuro per servizio, ingombrando la directory principale. Non è un difetto terribile, ma ci sono alternative più pulite.
Bobby Jack,

Hmm .. Penso che tu abbia messo temporaneamente il file oscuro chiamato durante il processo di verifica.
Aioobe,

7

Il caricamento di un file con nome oscuro è la strada da percorrere.

Hai scritto lo svantaggio è che potrebbero non essere autorizzati a caricare un file nella radice. Bene, in quel caso significa che non possiedono il sito Web, che è quello che stai cercando di scoprire.


Esattamente. Non è necessario l'accesso "root" al server, ovvero all'esterno della cartella htmlo www.
Chris Laplante,

Intendo dire che non è permesso che le regole di riscrittura possano rendere difficile o complesso il caricamento del file

@Cyclone, vero, ma credo sia abbastanza raro non consentire l'accesso a un file HTML fisico.

Sì, ma con i sistemi MVC (come codeigniter), può essere una seccatura capire come accedere a un file fisico che non fa parte del sistema principale

Penso che CI permetta ancora l'accesso ai file HTML fisici. Ma per ogni evenienza, potresti anche consentire il metodo metatag, in modo che i tuoi utenti non rimangano bloccati in caso di problemi con il loro file .htaccess o framework MVC.

1

Consiglierei di usare il meta tag ...

  • Includi un meta tag

0

Personalmente andrei con l'opzione di posta elettronica automatizzata.

Chiedi all'utente di inserire il proprio URL e indirizzo e-mail, verificando che il dominio sia lo stesso in entrambi i casi. Utilizzare lo stesso sistema utilizzato dai sistemi di reimpostazione della password:

  • Genera un hash casuale, in parte costituito dall'attuale microtime e dominio
  • Archivia l'hash in un database
  • Invia all'utente un'e-mail con un collegamento di verifica, in cui il parametro "id" è l'hash
  • Ora l'utente è verificato (elimina la riga dal database)

Per maggiore sicurezza, archiviare il tempo in cui l'hash è stato generato e quindi scaderlo dopo un'ora o due.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.