2010-04-24 2 views
9

Come posso impedire che il mio sito Web asp.net 3.5 venga sottoposto a raschia schermo da parte del mio concorrente? Idealmente, voglio assicurarmi che nessun webbot o screenshot possa estrarre dati dal mio sito web.Come posso evitare che venga raschiato il mio sito asp.net?

C'è un modo per rilevare che c'è un webbot o uno screen raschietto in funzione?

+0

@AndrewBarber ... l'OP NON sta chiedendo il codice. – Csharp

risposta

12

E 'possibile provare a rilevare screen scraper:

Utilizzare i biscotti e le tempistiche, questo renderà più difficile per quelli fuori degli screen scraper scatola. Controlla anche il supporto di JavaScript, la maggior parte degli scraper non ce l'ha. Controlla i dati del browser Meta per verificare che sia davvero un browser web.

È anche possibile verificare le richieste in un minuto, un utente che guida un browser può effettuare solo un piccolo numero di richieste al minuto, quindi la logica sul server che rileva troppe richieste al minuto potrebbe presumere che lo scraping dello schermo si sta verificando e impedire l'accesso dall'indirizzo IP incriminato per un certo periodo di tempo. Se questo inizia a interessare i crawler, registra gli IP degli utenti che sono bloccati e inizia a consentire i loro IP secondo necessità.

È possibile utilizzare http://www.copyscape.com/ per progettare anche i contenuti, questo vi dirà almeno chi sta riutilizzando i dati.

Vedere questa domanda anche:

Protection from screen scraping

prendere anche uno sguardo al

http://blockscraping.com/

Nizza doc su screen scraping:

http://www.realtor.org/wps/wcm/connect/5f81390048be35a9b1bbff0c8bc1f2ed/scraping_sum_jun_04.pdf?MOD=AJPERES&CACHEID=5f81390048be35a9b1bbff0c8bc1f2ed

Come prevenire screen scraping:

http://mvark.blogspot.com/2007/02/how-to-prevent-screen-scraping.html

+0

+1 buona risposta. ma ... ho battuto la maggior parte di quelle guardie, quindi la mia risposta. ;-) –

+1

La sua domanda è, è possibile rilevare. Lo è, ed è facile fare fatica a scrivere un programma per raschiare il sito, non è al 100% ma lo renderà più difficile. Se un utente può portarlo nel browser, può essere copiato, a meno che non usi captcha per accedere alle informazioni che non vuoi raschiare. –

+0

Sì, hai ragione. Sono colpevole di rispondere a una domanda diversa. –

2

Non credo sia possibile senza autenticare gli utenti sul tuo sito.

+0

@Raj, quindi l'autenticazione impedirà che (ovviamente la concorrenza possa registrarsi ed eseguire un/s) – user279521

+1

L'autenticazione non lo ostacolerà, se vogliono scriverlo eseguiranno facilmente questa procedura. –

+0

Non sapevo se disponessi di un elenco di utenti autorizzati che potevano accedere alla tua app. Ovviamente questo non è il caso qui. –

8

Scollegare il cavo di rete dal server.

parafrasi: se il pubblico può vederlo, può essere raschiato.

aggiornamento: al secondo sguardo sembra che non risponda alla domanda. Scusate. Vecdid ha offerto una buona risposta.

Ma qualsiasi codice codificato in modo discreto potrebbe annullare le misure elencate. In quel contesto, la mia risposta potrebbe essere considerata valida.

+0

+1 migliore risposta ancora, potrebbe non essere quello che l'op voleva sentire, ma è l'unica soluzione. – mxmissile

+0

davvero. È come quando era di moda evitare di fare clic con il tasto destro per rubare immagini. – renoirb

1

Alla fine non puoi fermarlo.

È possibile rendere più difficile per le persone, mediante l'impostazione del file robots.txt ecc. Tuttavia, è necessario ottenere informazioni sugli schermi degli utenti legittimi in modo che debbano essere serviti in qualche modo, e se è quindi il vostro i concorrenti possono arrivarci.

Se costringi gli utenti ad accedere, puoi fermare i robot tutto il tempo, ma non c'è nulla che impedisca comunque ad un concorrente di registrarsi per il tuo sito. Questo può anche allontanare potenziali clienti se non riescono ad accedere ad alcune informazioni per "gratis".

+0

@ChrisF, c'è un modo per rilevare che c'è un webbot o uno screen scraper in esecuzione? – user279521

+0

@user - guarda le altre risposte di persone con più esperienza in quest'area rispetto a me – ChrisF

0

Non credo sia possibile. Ma qualunque cosa ti venga in mente, sarà altrettanto negativo per l'ottimizzazione dei motori di ricerca che per la concorrenza. È davvero desiderabile?

1

Se il concorrente è in stesso paese, come voi, avete una politica di utilizzo accettabile e termini di servizio chiaramente pubblicati sul tuo sito. Menziona il fatto che non permetti alcun tipo di robot/raschiatura dello schermo ecc. Se continua così, procurati un avvocato che invii loro una lettera amichevole di cessazione e sospensione.

0

Che ne dici di servire ogni bit di testo come un'immagine? Una volta fatto, i tuoi concorrenti saranno obbligati a investire le tecnologie OCR, o scoprirai di non avere utenti, quindi la domanda sarà discutibile.

1

È possibile utilizzare un CAPTCHA.

Inoltre, è possibile attenuarlo, limitando la loro connessione. Non li impedirà completamente dallo screen scraping ma probabilmente impedirà loro di ottenere dati sufficienti per essere utili.

Innanzitutto, per gli utenti cooky, le connessioni dell'acceleratore consentono di vedere al massimo una visualizzazione di pagine al secondo, ma una volta scaduto il timer di un secondo non si verifica alcuna limitazione. Nessun impatto sugli utenti normali, un grande impatto sugli scraper dello schermo (almeno se hai un sacco di pagine che hanno come target).

Successivamente, richiedere i cookie per visualizzare le pagine sensibili ai dati.

Saranno in grado di entrare, ma fino a quando non si accettano i cookie fasulli, non saranno in grado di schermare molto con una velocità reale.