Metodo semplice per autenticare l'input umano in un modulo per l'inoltro via e-mail a una terza parte

1

Ho creato una pagina web che pubblicizza una festa di compleanno in particolare. Una semplice pagina html servita da apache2 su ubuntu server 12.04. Ho un link sulla pagina per uno script cgi-Python-che chiede al richiedente di inviare valori di testo che verranno formattati e inoltrati in una e-mail al ragazzo del compleanno. Quello che è un modo semplice per autenticare che un essere umano sta compilando il modulo, in modo che io possa evitare di ricevere spam dal festeggiato. Utilizzo di CGI standard perché non mi aspetto un sovraccarico di richieste simultanee.

Sono a conoscenza di cose come reCaptcha, ma sto cercando strategie canoniche per l'autenticazione rapida e sporca. Non essendo pagato per questo e il sito sarà attivo per 9 giorni, quindi non voglio mettere il tempo in una soluzione più robusta di quello che effettivamente ho bisogno. Sarebbe sufficiente chiedere una risposta umana? In caso affermativo, posso ottenere una copia con una casella a discesa di risposte selezionabili. Voglio essere veloce e sporco, ma non voglio finire con carichi di spam in barca perché ho sottovalutato l'intelligenza dei bot spam.

    
posta naftalimich 19.04.2013 - 17:31
fonte

4 risposte

6

Suppongo che tu stia inviando questo sito come link agli invitati. Perché il link non è qualcosa come www.yourbirthdaysite.com/24387921854781987458714590349839849394 ? Accetta solo connessioni a quell'indirizzo, non l'indirizzo di root. Questo è un modo efficace per mantenere privati i contenuti quando non è necessaria la sicurezza eccessiva. Ad esempio, Google lo utilizza come opzione di condivisione per la condivisione di documenti Google.

Se vuoi che le persone siano in grado di accedere direttamente all'indirizzo root (se devono digitarlo invece di fare clic su un link), farei due cose:

  • Disattiva Google Indexing e non collegarti da nessun luogo pubblico (il tuo sito non è indirizzato al pubblico in generale). Questo rimuoverà la fonte principale di traffico per spambots sul tuo sito. La sicurezza attraverso l'oscurità non è una buona pratica in generale. Ma un sito che non è indicizzato sui motori di ricerca ed è visibile solo per nove giorni è molto oscuro. Realisticamente, è improbabile che tu riceva spam in quel momento.
  • Fai una semplice domanda e verifica la risposta. Fai qualche domanda sul festeggiato che sarebbe noto ai partecipanti al party. Rendilo divertente e si aggiungerà al sito nel suo complesso.
risposta data 19.04.2013 - 17:55
fonte
2

Proverei qualcosa di banale e basato sulla pagina, ma richiede un contesto in modo tale che un bot standard non possa accedervi.

Suggerimenti specifici:

  • Digita il nome del ragazzo del compleanno a ritroso
  • Digita le iniziali del compleanno
  • Qual è il nome della madre del festeggiato?
  • Che giorno è il compleanno?

Sarebbe banale scrivere un bot in grado di rispondere a questi, ma nulla di preesistente dovrebbe prenderlo, e non sarebbe pratico o utile farlo in questo lasso di tempo.

    
risposta data 19.04.2013 - 17:49
fonte
1

Aggiungi questo al tuo modulo quindi nel tuo script Python controlla solo che il campo del modulo pubblicato si chiami capt == "human";

<input type="hidden" name="capt" id="capt" value=""> 
<script>
    document.getElementById('capt').value="human";
</script>

Ingannerà il 99% dei bot che non possono eseguire JavaScript e rifiuterà solo gli amici che disabilitano JavaScript, ma di nuovo probabilmente è un buon test di un vero amico;)

    
risposta data 20.04.2013 - 13:12
fonte
-1

Perché non copiare Google?

In questi giorni insistono su un numero di cellulare quando ti registri per la posta, G + ecc. Ogni tanto quando accedi da uno strano indirizzo ti dicono di controllare il tuo telefono e cercare un messaggio SMS contenente un codice di autenticazione.

Inserisci il codice nella schermata di accesso e procedi normalmente.

Potresti fare qualcosa di simile richiedendo un numero di cellulare, inviando un codice di verifica tramite SMS e rispondendo solo alle e-mail con un codice di verifica valido.

    
risposta data 19.04.2013 - 17:40
fonte

Leggi altre domande sui tag