2010-09-24 8 views
9

Diversi anni fa ho sviluppato un sito Web per un'azienda all'ingrosso che voleva mantenere privato il proprio catalogo online (e prezzi all'ingrosso). A parte la revisione manuale di ciascuna applicazione inviata, ero davvero bloccato su come eseguire con precisione questo.Validazione: oltre indirizzi e-mail/numeri di telefono

Questo si è verificato anche in altri progetti Web che richiedono la registrazione per accedere a determinate informazioni "un po 'segrete", inclusi membri della stampa e rivenditori. Con la maggior parte di queste applicazioni che ricevono molto poco in termini di presentazioni effettive, è stato facile respingere l'attività di convalida automatica del modulo come impossibile (o troppo sforzo).

Ultimamente, tuttavia, c'è stato un aumento molto grande delle registrazioni e sarebbe stato sensato automatizzare questo processo se possibile.

Il sito è sviluppato in PHP, e ho provato quanto segue:

  • Raschiare Dunn and Bradstreet contro telefono business
  • rottamazione Pagine gialle contro di telefono/indirizzo
  • base Regex

L'espressione regolare è solo la convalida standard di qualsiasi utente. Lo scraping era inaffidabile (e in modo discutibile dopo i termini &)

Come fanno gli altri sviluppatori a gestire il problema della convalida business/stampa e come giustificano questo ai loro clienti?

Grazie carichi

+0

Che tipo di convalida stai cercando di fare? Basta verificare che rappresentino un'azienda? –

+0

Penso che dovresti usare la validazione per rifiutare le registrazioni ovviamente false, quindi convincere gli umani a controllare manualmente il resto. –

+0

@ Michael Petrotta Esattamente, si. I miei metodi precedenti, praticamente chiunque potrebbe cercare un'attività e ottenere l'accesso automatico inserendo le proprie informazioni. Ci sono altri pezzi di informazioni da convalidare che significherebbero di più, come un tax-id (nessun indizio sulla stampa). @Andrew Dunn Ho già una convalida del modulo standard, filtrando i dati privi di senso. –

risposta

3

Una volta superato lo screening tra uomo e bot, stai cercando un modo per distinguere il visitatore non-target semplicemente curioso (ad esempio, il ragazzino di 14 anni) da quelli che vuoi lasciare entrare. Come dicono gli altri commentatori, non esiste un modo universale per la macchina di Turing per identificare, per non parlare di valutare, un presunto giornalista o uomo d'affari che potrebbe essere interessato al tuo sito.

Una cosa che potreste considerare è porre la domanda "descrivete brevemente il vostro interesse per [il sito] e gli aspetti specifici dei nostri prodotti o servizi che vi interessano". Quindi sviluppare un'euristica basata sull'esperienza per lo screening automatico. Innanzitutto, esegui un filtro antispam, il punteggio successivo per le parole chiave, ecc.

+0

Grazie Richard. In definitiva, questo è il modo in cui ho finito per andare. Ho convalidato diversi campi, con un punteggio massimo possibile finale di 50 punti, ciascuno dei campi riusciti (o parzialmente riusciti) aggiunto al punteggio. Se il punteggio era> = 40 punti, ho dato loro l'accesso immediato. Il resto potrebbe quindi attendere la convalida umana. –

0

ne dite di avere li popolano il nome della loro organizzazione e utilizzare un servizio web per verificare. Ho trovato questo http://www.business.gov/about/features/api/business-licenses/, è solo per le aziende con sede negli Stati Uniti, ma sospetto che siano altri come gli altri paesi.

+0

Questo sembra essere valido solo per le agenzie governative degli Stati Uniti - non per tutte le aziende registrate. Sto iniziando a pensare che un database EIN (completo) inverso non esiste. –

1

Un altro modo è chiedere loro un indirizzo e-mail dal loro nome di dominio e inviare loro una e-mail. Non funziona per ogni azienda, ma puoi usare questo suggerimento per ridurre il numero di tentativi di frode.

Al fine di essere più efficiente, è anche possibile controllare il whois: http://www.webservicex.net/whois.asmx

Se siete paranoici, si può anche provare a stabilire una connessione con il server e seguire questo tutorial: http://www.coveryourasp.com/ValidateEmail.asp

+0

Questo è un concetto interessante, ma molti dichiaranti sono ancora bloccati sui tipi di account "[email protected]". Questa potrebbe essere una bella aggiunta ai miei controlli però. Forse ho bisogno di un sistema di punti per la convalida .. –

+0

Sì, ma è ancora possibile controllare se [email protected] esiste sul server di hotmail, vero? Usa il link, luke: p – Rob

0

Perché non affollare la soluzione?

Questo potrebbe sembrare strano, ma sopportare me. Hanno tutti qualcosa in comune, sono tutte persone della stessa industria o simili. Quindi, affinché qualcuno possa registrarsi ed essere approvato, è necessario che sia "garantito" da qualcuno con un accesso preesistente o pre-approvato. Dal momento che è probabile che i giornalisti conoscano altri giornalisti e che i grossisti conoscano altri grossisti tutto ciò che una persona deve fare è registrarsi e chiedere a qualcuno di "garantire" la sua legittimità.

L'esatta implementazione del corso se lo si desidera, è possibile impostarlo in modo che ogni persona abbia bisogno di almeno 2 persone diverse per garantire per loro prima che il proprio account sia approvato. Il sistema richiederà un po 'di lavoro manuale iniziale, perché dovrai approvare manualmente alcune persone, ma man mano che più persone si registrano, probabilmente conosceranno qualcuno che ha già accesso. Nel tempo il sistema diventa sempre più autosufficiente.

L'unico problema che vedo è se il numero di utenti è piccolo e le persone che si registrano non conoscono altre persone sul sito.

+0

Ma per un piccolo gruppo di richiedenti la verifica umana è il modo migliore per andare, finché non raggiungono un punto in cui il numero di domande al giorno si avvicina alla massima capacità di lavoro del pool di verificatori.Utilizzare le applicazioni verificate per sviluppare l'euristica per il sistema automatizzato, introdurre il sistema automatizzato mentre il numero di richiedenti al giorno è relativamente piccolo, in modo che i suoi risultati possano essere verificati e la loro euristica adattata in modo appropriato. E, naturalmente, * sempre * avere un controllo di qualità sulle domande respinte (o un suo sottoinsieme). –

0

Prefazione: Non sono un avvocato né un esperto di e-commerce.

Se si tratta di un accordo internazionale, non esiste uno standard universale da controllare. Inoltre, si evitano le società le cui licenze sono pendenti o i proprietari indipendenti non interessati alla burocrazia di registrazione. L'automazione funziona solo se uno standard universale o un singolo pool di origini dati per qualsiasi cosa tu stia automatizzando è a posto.

In mancanza di questo, è necessario un EULA per spiegare la vostra politica aziendale e per ritenere l'utente responsabile per gli invii fraudolenti. Al posto dell'EULA, è possibile (a seconda della giurisdizione e delle leggi locali) fare in modo che il cliente compia una dichiarazione giurata di qualche tipo e richiedere loro di inviarlo via fax o scansione/e-mail prima dell'attivazione dell'account. Segui tutte le comunicazioni con una telefonata al numero di telefono della tua attività come dato al loro consiglio comunale locale, BBB, agenzia di commercio o altro ente locale, servizio pubblico o registrar organizzativo privato solo per confermare la registrazione. Il numero di telefono del contatto, il nome o l'indirizzo e-mail che inviano durante la registrazione sul tuo sito dovrebbero essere solo una cosa a cui devi fare un doppio controllo, ma mai come una risorsa di contatto definitiva.

Inoltre, è possibile effettuare una verifica aggiuntiva richiedendo un acquisto con carta di credito di una commissione di servizio generale del minimo assoluto richiesto dalla carta (in genere $ 1 sembra). Sebbene non sia mai a prova di pieno, questa transazione con carta di credito serve solo a identificare il cliente. Vedi Craigslist, USPS.

Penso di aver appena risposto alla tua domanda con un "Chiedi a un avvocato esperto nel campo".

+0

Ma sembra un servizio web interessante da stabilire, non è vero? Crea il tuo 'motore di controllo aziendale universale' =) –

+0

@David Thomas: Dipende tutto dalla nicchia che stai coprendo (epa certs, ohs, sarbanes oxley, o qualsiasi altra classificazione e certificazione è in stagione). Senza sapere nulla sulla base di utenti di OP, direi solo di trovare il denominatore comune, e se ci sono solo una o due agenzie globali al servizio di tutto ciò che si può interrogare. Altrimenti, generalmente non c'è nulla di universale sulla località. –

+0

@bob, assolutamente. Ma il mio pensiero era (e non ho i cojones per * implementarlo *) che se si prende una piccola quota di registrazione per verificare le credenziali aziendali (ad esempio un mercato nazionale solo a breve termine, usando qualunque mezzo tu ritenga appropriato) e quindi fornire un'API per altre aziende da controllare contro ... Sembra interessante, ma un enorme mal di testa. –