2012-02-09 16 views
9

Voglio creare un URL privatoCome creare un URL privato?

http://domain.com/content.php?secret_token=XXXXX 

Poi, solo i visitatori che hanno l'URL esatto (ad esempio ricevuto per e-mail) possono consultare la pagina. Controlliamo il $_GET['secret_token'] prima di visualizzare il contenuto.

Il mio problema è che se per caso i robot di ricerca trovano l'URL, lo indicheranno semplicemente e l'URL sarà pubblico. Esiste un metodo pratico per evitare visite bot e indice successivo?

possibile ma sfavorevoli Metodi:

  1. di login del sistema (per esempio per sessione PHP): Ma io non voglio offrire il login utente.

  2. Cartella protetta da password: il problema è come sopra.

  3. Utilizzo di Robots.txt: molti robot dei motori di ricerca non lo rispettano.

risposta

7

Quello di cui stai parlando è la sicurezza attraverso l'oscurità. Non è mai una buona idea. Se è necessario, vorrei offrire questi pensieri:

  • fare il collegamento scade
  • Bloccare il link alla classe C o D di indirizzi IP che è stato accessibile dalla prima volta
  • Avere la sfida pagina utente con qualcosa come una domanda logica prima di inoltrare alla pagina reale con un token sensibile al tempo (processo in 2 fasi), e se la sfida fallisce, inviare un 404 indietro in modo che il crawler si fermi.
+0

Grazie per la risposta utile e commenti realistici! – Googlebot

2
  • Se non v'è alcun collegamento ad esso (compresi che la cartella non ha un indice vista), il robot non lo troverete
  • Si potrebbe restituire un 404, se il token è sbagliato: In questo modo, un robot (e chi altro non ha il token) penserà, non esiste tale pagina
+1

"Se non v'è alcun collegamento ad esso": direi se è mai inviato in una e-mail c'è una buona probabilità che sarà indicizzato. – CrazyDart

+1

Bene, se viene inviato in un messaggio di posta elettronica con il token, e questo viene indicizzato, sei sfortunato. Con qualsiasi soluzione Se consideri pubblico il contenuto di tutte le e-mail, non ti sarà di aiuto un'autenticazione senza una chiave hardware: nel momento in cui invii a qualcuno il token/password, nel momento in cui tutti lo conoscono. –

2

Finché non ci si collega ad esso, nessun ragno lo raccoglierà. E, dal momento che non vuoi alcuna protezione tramite password, il link funzionerà per tutti. Prendi in considerazione la possibilità di disabilitare la chiave segreta dopo che è stata utilizzata.

+2

"Finché non ci si collega ad esso, nessun ragno lo raccoglierà": non è affatto vero. Gli spider vengono seminati da molte fonti, non solo i collegamenti da altre pagine. – CrazyDart

1

devi solo dire ai motori di ricerca di non indicizzare /content.php, e i motori di ricerca che rispettano lo robots.txt non indicizzano le pagine che iniziano con /content.php.

+1

un bot male è sufficiente per rendere i miei contenuti privati ​​pubblicamente disponibili! – Googlebot

+0

se invii via email un token segreto agli utenti, i tuoi contenuti privati ​​sono già disponibili pubblicamente. L'unico modo in cui un bot può trovare il token segreto è se qualcuno lo ha collegato da qualche parte a cui il bot ha avuto accesso. Se ciò accade, il tuo segreto non è un segreto comunque. – zzzzBov

+0

Come altri hanno sottolineato, può essere in modi diversi; per esempio. barra degli strumenti dei visitatori. – Googlebot

3

Provare a generare una password alfanumerica 5-6 e allegare insieme all'e-mail, quindi, a ragion veduta, i robot hanno bisogno di una password per accedere alla pagina. (Solo un misura di sicurezza extra aggiunto)

1

Lasciando il link inedito sarà ok in maggior parte dei casi ...

... Comunque, io vi avverto che la prevalenza delle toolbar (Google e Yahoo vieni in mente) cambia il gioco. Una società per la quale ho lavorato aveva le pagine dalla loro intranet indicizzata in Google.È possibile cercare la pagina e alcuni risultati si sono verificati, ma non è possibile accedervi a meno che non ci si trovasse all'interno del firewall o della VPN.

Abbiamo calcolato che l'unico modo in cui i collegamenti sono stati propagati a Google ha dovuto passare attraverso la barra degli strumenti. (Se qualcun altro ha una spiegazione migliore, mi piacerebbe sentirlo ...) Sono fuori da quella compagnia da un po 'di tempo ormai, quindi non so se hanno mai capito in modo definitivo cosa è successo lì.

lo so, strano ma vero ...

+0

Hai perfettamente ragione! Questo è il motivo per cui ho paura di condividere URL privati ​​come descritto sopra. – Googlebot

+0

Penso che dovrai inviare un codice nell'e-mail (come menzionato in un post precedente) o qualcosa come un CAPTCHA per tenere lontani i robot e accertarti di avere a che fare con una persona. – Tim

Problemi correlati