Creo que el enfoque en cómo es "imposible" evitar que un usuario determinado y conocedor de la técnica robe un sitio web tiene demasiada importancia. @Drew Noakes afirma que el sitio web contiene información que, cuando se toma en conjunto, tiene algún 'valor'. Si un sitio web tiene datos agregados que son fácilmente accesibles para usuarios anónimos no restringidos, entonces sí, evitar rasparlos puede ser casi imposible.
Sugeriría que el problema que hay que resolver no es cómo evitar que los usuarios raspen los datos agregados, sino qué enfoques podrían utilizarse para eliminar los datos agregados del acceso público; eliminando así el objetivo de los raspadores sin la necesidad de hacer lo "imposible", evitar el desguace.
Los datos agregados se deben tratar como información de la empresa propietaria. La información de la compañía propietaria en general no está disponible públicamente para los usuarios anónimos en forma agregada o cruda.Yo argumentaría que la solución para evitar la toma de datos valiosos sería restringir y restringir el acceso a los datos, no para evitar el desguace cuando se presenta al usuario.
1] Cuentas de usuario/acceso: nadie debería tener acceso a todos los datos en un plazo determinado (datos/dominio específico). Los usuarios deben poder acceder a los datos que les son relevantes, pero claramente a partir de la pregunta, ningún usuario tendría un propósito legítimo para consultar todos los datos agregados. Sin conocer los detalles del sitio, sospecho que un usuario legítimo puede necesitar solo un pequeño subconjunto de los datos dentro de un período de tiempo. La solicitud que excede significativamente las necesidades típicas del usuario debe bloquearse o, alternativamente, estrangularse, a fin de que el raspado consuma mucho tiempo y los datos desechados se vuelvan obsoletos.
2] Los equipos de operaciones a menudo controlan las métricas para garantizar que los grandes sistemas distribuidos y complejos sean saludables. Desafortunadamente, resulta muy difícil identificar las causas de los problemas esporádicos e intermitentes, y con frecuencia es incluso difícil identificar que existe un problema en comparación con las fluctuaciones operacionales normales. Los equipos de operaciones a menudo tratan datos estadísticos analizados tomados de muchas mediciones numerosas y las comparan con valores actuales para ayudar a identificar desviaciones significativas en el estado del sistema, ya sea el tiempo de actividad del sistema, carga, utilización de CPU, etc.
De forma similar, las solicitudes de los usuarios para datos en cantidades que son significativamente mayores que la norma podría ayudar a identificar individuos que probablemente estén eliminando datos; Tal enfoque puede incluso automatizarse e incluso extenderse más para buscar patrones que indiquen desguace en múltiples cuentas. Usuario 1 raspa 10%, usuario 2 raspa el siguiente 10%, usuario 3 raspa el siguiente 10%, etc ... Patrones como ese (y otros) podrían proporcionar indicadores fuertes de uso malicioso del sistema por un solo individuo o grupo utilizando cuentas múltiples
3] No haga que los datos agregados sin procesar sean accesibles directamente para los usuarios finales. Las especificaciones importan aquí, pero en pocas palabras, los datos deberían residir en servidores back-end y recuperarse utilizando alguna API específica del dominio. De nuevo, supongo que no solo está sirviendo datos brutos, sino que responde a las solicitudes de los usuarios de algunos subconjuntos de datos. Por ejemplo, si los datos que posee son datos demográficos detallados de la población de una región en particular, un usuario final legítimo solo estaría interesado en un subconjunto de esos datos. Por ejemplo, un usuario final puede querer conocer direcciones de hogares con adolescentes que residen con ambos padres en viviendas de unidades múltiples o datos en una ciudad o condado específico. Tal solicitud requeriría el procesamiento de los datos agregados para producir un conjunto de datos resultante que sea de interés para el usuario final. Sería prohibitivamente difícil eliminar todos los conjuntos de datos resultantes obtenidos de numerosas permutaciones potenciales de la consulta de entrada y reconstruir los datos agregados en su totalidad. Un raspador también estaría restringido por la seguridad de los sitios web, teniendo en cuenta el número de solicitudes/tiempo, el tamaño total de los datos del conjunto de datos resultante y otros posibles marcadores. Una API bien desarrollada que incorpore conocimiento específico del dominio sería fundamental para garantizar que la API sea lo suficientemente exhaustiva como para cumplir su propósito, pero no demasiado general para devolver volcados de datos brutos grandes.
Incorporación de cuentas de usuario en el sitio, establecimiento de líneas base de uso para usuarios, identificación y regulación de usuarios (u otros enfoques de mitigación) que se desvían significativamente de los patrones de uso típicos y creación de una interfaz para solicitar los conjuntos de resultados procesados / digeridos (frente a los datos agregados sin procesar) crearían complejidades significativas para las personas malintencionadas que intentan robar sus datos. Puede ser imposible evitar el desguace de los datos del sitio web, pero la 'imposibilidad' se basa en que los datos agregados sean fácilmente accesibles para el raspador. No puedes raspar lo que no puedes ver. Por lo tanto, a menos que los datos agregados sean texto no procesado sin formato (por ejemplo, libros electrónicos de biblioteca), los usuarios finales no deberían tener acceso a los datos agregados sin formato. Incluso en el ejemplo del libro electrónico de la biblioteca, la desviación significativa de los patrones de uso aceptables, como la solicitud de un gran número de libros en su totalidad, debe bloquearse o acelerarse.
Estoy de acuerdo con Aillyn; será casi imposible evitar que alguien elimine la pantalla de su sitio. Buscar opciones para evitarlo simplemente consumirá el tiempo mejor utilizado para mejorar otros aspectos de su sitio. Concéntrese en las cosas que hacen que su sitio sea único y mejor que los raspadores de pantalla. Mira Stack Overflow por ejemplo: está siendo raspado por toneladas de comederos inferiores, pero eso no impide que sea útil o impresionante. –
@Cal Ni siquiera tienen que rascar, el contenido está disponible a través de los [volcados de datos] (http://blog.stackoverflow.com/category/cc-wiki-dump/). – Aillyn
@Cal, los datos de SO están disponibles como descarga en Creative Commons http://blog.stackoverflow.com/2009/06/stack-overflow-creative-commons-data-dump/ –