Foros del Web » Programando para Internet » PHP »

¿Se puede detectar el uso de file_get_contents?

Estas en el tema de ¿Se puede detectar el uso de file_get_contents? en el foro de PHP en Foros del Web. Hola a todos, llevo unos días probando con la función file_get_contents para ver que se puede hacer con ella, pero tengo algunas dudas sobre su ...
  #1 (permalink)  
Antiguo 18/07/2011, 12:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Pregunta ¿Se puede detectar el uso de file_get_contents?

Hola a todos, llevo unos días probando con la función file_get_contents para ver que se puede hacer con ella, pero tengo algunas dudas sobre su uso, como por ejemplo la que dice el titulo del hilo. Si uso esa función para ver el código fuente de otra página, ¿puede el administrador de esa página ver lo que estoy haciendo?, ¿le contaría como una impresión cada vez que lo uso? ¿saldría en sistemas como Google Analytics?

Un saludo a todos.
  #2 (permalink)  
Antiguo 18/07/2011, 13:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Sí, esto es por que file_get_contents hace una petición HTTP, es lo mismo que si lo leyeras desde tu browser.

Saludos.
  #3 (permalink)  
Antiguo 18/07/2011, 14:22
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ¿Se puede detectar el uso de file_get_contents?

El administrador vería los registros en su servidor, aunque hay que matizar que Google Analytics y la mayoría de los scripts cuenta-visitas funcionan con javascript. Aunque te descargues la página, si no ejecutas el javascript que lleva, no funcionan en absoluto.
__________________
I (L) Google
  #4 (permalink)  
Antiguo 18/07/2011, 15:04
Avatar de rikardoz  
Fecha de Ingreso: abril-2011
Ubicación: En mi casa
Mensajes: 165
Antigüedad: 13 años
Puntos: 46
Respuesta: ¿Se puede detectar el uso de file_get_contents?

si puede ver lo que haces, pero lo que veria seria el IP de tu servidor, si ve muchas peticiones como 5mil al dia seria algo raro de una sola IP, y lo que podria pasar es bloquearte la IP y no podrias ver la pagina, pero si solo haces de 10 a 20 peticiones creo que normal te veria como un simple usuario mas!
__________________
Agregadecer no cuesta nada O SI?
  #5 (permalink)  
Antiguo 18/07/2011, 15:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Muchas gracias a todos por responder. Un par de preguntas más, ¿es legal hacer un script con file_get_contents que recorra miles de paginas para recoger contenido sin copyright?. ¿Qué uso le dan ustedes a esta función?.

Muchas gracias.
  #6 (permalink)  
Antiguo 18/07/2011, 15:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Depende de como tomes el contenido y cual sea el uso de ese contenido.

Saludos.
  #7 (permalink)  
Antiguo 18/07/2011, 16:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Hola GatorV, gracias por responder. Lo del uso que se le da al contenido lo entiendo, no es plan de coger todo contenido un foro para publicarlo en otro sitio, por ejemplo. Yo me refiero más bien a coger contenido estilo titulo y descripciones de páginas y poner un link hacia ellas (estilo buscador), o imágenes como carátulas de videojuegos o películas que se pueden coger de varios lugares.

Lo que no entiendo a que te refieres con lo de "como tomes el contenido". ¿Te refieres al script que se usa para cogerlo?, un saludo.

Por cierto me encanta tu ubicación, jejeje.
  #8 (permalink)  
Antiguo 19/07/2011, 04:41
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Se refiere a que si lo que haces es copiar el contenido para publicarlo en tu web con anuncios y ganar dinero con ello (comúnmente llamado proxy) es ilegal. Si en cambio, tu uso es parecido al de un buscador (teniendo cuidado de no sobrecargar el servidor para que el administrador no se enfade) es perfectamente legal
__________________
I (L) Google
  #9 (permalink)  
Antiguo 19/07/2011, 09:41
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Muchas gracias por responder perryjr. Exactamente, yo me refería a hacer una especie de buscador, o coger contenidos sin copyright tales como datos de libros y tal, nada ilegal por supuesto. Supongo que de esa forma actuaran web que buscan ofertas o reviews en muchas páginas ¿Me equivoco?. La verdad es que estoy hablando por hablar, no tengo nada en mente, ya que ahora mismo solo estoy aprendiendo a usar esa función con fines puramente didácticos.

Un saludo a todos.
  #10 (permalink)  
Antiguo 20/07/2011, 05:40
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Fines puramente didácticos = legal

Y si, en general muchas webs usan métodos así. Ten en mente también que quizás deberías tener en cuenta (si lo tienen) y respetar (eso es opción tuya) lo que haya puesto el administrador en robots.txt (a veces no hay nada :) )

Ejemplo:
http://www.forosdelweb.com/robots.txt

Esa es la manera del administrador de este foro de decirle a Google que no entre en la lista de URLs esa
__________________
I (L) Google
  #11 (permalink)  
Antiguo 20/07/2011, 09:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Muchas gracias por responder perryjr. Yo creía que si no permitías el acceso mediante robots.txt no dejabas entrar a nadie en esos directorios. Vamos que aún así si una persona con mala leche quiere saber lo que tengo en esos directorios podrá verlo no?.

Por otra parte, he estado leyendo bastante sobre file_get_contents y curl, más que nada para aprender y también para saber de que forma otro usuario mal intencionado podría coger contenido de mi web, y he encontrado que muchos que intentan hacer un crawler (creo que se llama así) para hacer un buscador o algo parecido, dicen que les banean las ip. Supongo que esto será porque intentan coger mucho contenido, pero me surge la preguna ¿Cómo hacen las web que buscan ofertas en ebay o sitios parecidos para que no les baneen la ip?


Un saludo.
  #12 (permalink)  
Antiguo 20/07/2011, 11:48
Avatar de DinamiteDog  
Fecha de Ingreso: febrero-2005
Ubicación: Rosario, Argentina
Mensajes: 77
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Cita:
Iniciado por rubiomike Ver Mensaje
Muchas gracias por responder perryjr. Yo creía que si no permitías el acceso mediante robots.txt no dejabas entrar a nadie en esos directorios. Vamos que aún así si una persona con mala leche quiere saber lo que tengo en esos directorios podrá verlo no?.

Por otra parte, he estado leyendo bastante sobre file_get_contents y curl, más que nada para aprender y también para saber de que forma otro usuario mal intencionado podría coger contenido de mi web, y he encontrado que muchos que intentan hacer un crawler (creo que se llama así) para hacer un buscador o algo parecido, dicen que les banean las ip. Supongo que esto será porque intentan coger mucho contenido, pero me surge la preguna ¿Cómo hacen las web que buscan ofertas en ebay o sitios parecidos para que no les baneen la ip?


Un saludo.
No se bien, pero deduzco que si buscan ofertas tienen algún API para conectarse con eBay.

Igualmente, creo que puedes llegar a imitar un navegador normal enviando los headers correspondientes.

Y no se por que no quisieras que obtengan contenido mediante file_get_contents (de hecho, a mi cURL me resulta más práctico)...

Saludos!
__________________
All generalizations are false, including this one ~ Mark Twain
  #13 (permalink)  
Antiguo 20/07/2011, 15:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Hola DinamiteDog, lo primero, gracias por responder. Pero enviando los headers como si fuese un navegador también se tendría el problema del baneo de ip, porque si haces un código para que siga los enlaces y los analice uno por uno, se podrían hacer miles de peticiones en poco tiempo y eso cantaría mucho ¿no?.

Por ciero, ¿Porqué te resulta más practico cURL?. En estos días lo he estado probando, según he leído cURL es más rápido pero, aparte de eso ¿tiene alguna otra ventaja respecto a file_get_contents?

Un saludo
  #14 (permalink)  
Antiguo 20/07/2011, 18:41
Avatar de DinamiteDog  
Fecha de Ingreso: febrero-2005
Ubicación: Rosario, Argentina
Mensajes: 77
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Cita:
Iniciado por rubiomike Ver Mensaje
Hola DinamiteDog, lo primero, gracias por responder. Pero enviando los headers como si fuese un navegador también se tendría el problema del baneo de ip, porque si haces un código para que siga los enlaces y los analice uno por uno, se podrían hacer miles de peticiones en poco tiempo y eso cantaría mucho ¿no?.

Por ciero, ¿Porqué te resulta más practico cURL?. En estos días lo he estado probando, según he leído cURL es más rápido pero, aparte de eso ¿tiene alguna otra ventaja respecto a file_get_contents?

Un saludo
Hola, eso es todo lo que se sobre headers.. lo cual no es mucho.

cURL es muchísimo más rápido, y te deja enviar datos mediante post (también lo podrías hacer con fsockopen, fwrite y fread), también más opciones configurables (timeout, si te interesa que devuelva datos, etc). Y por sobre todo que cURL va más allá de php, se puede utilizar mediante línea de comandos en linux.

Saludos.
__________________
All generalizations are false, including this one ~ Mark Twain
  #15 (permalink)  
Antiguo 21/07/2011, 08:05
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: ¿Se puede detectar el uso de file_get_contents?

cURL es un gigante comparado a una hormiga llamada file_get_contents() Las opciones son inacabables.

Un crawler hace esto:

1. Pide la pagina
2. Analiza la página y guarda los enlaces en una base de datos
3. Se prepara para ejecutar código que te digo yo, en cinco minutos ponle.
4. 5 minutos después, coge un enlace de la lista, y volvemos al paso 1

Algunos todavía no se han enterado de que existe el paso 3 =D Incluso en Google, el tiempo del paso tres es variable, y depende del tiempo que tarde tu pagina en responder, de lo famosa que sea, y de lo que tu configures en:
http://www.google.com/webmasters/tools


Respecto a lo de robots.txt, evidentemente que es un simple documento que te da la opinión del administrador, pero nadie te pone una pistola en la cabeza para que lo obedezcas. Si tu eres el administrador y lo que quieres es restringir el acceso a cierta parte del sitio, tienes que ser activo, es decir ponerlo en robots.txt no impide nada. Tienes que escribir código para que cada vez que pidan una página restringida, se comprueben los permisos del usuario antes de enviarla. Piensa siempre que tu lo unico que controlas de verdad es tu servidor. El navegador, las peticiones, las respuestas etc están fuera de tu control, y en la mano de usuarios/posibles hackers/programadores malintencionados.


Con respecto a eBay, aquí esta la documentación, lo único que no sé es si tienen versión en español:
http://developer.ebay.com/
Ellos te dan URLs a las que tu accedes y te dan datos formateados especialmente (XML, JSON, ...) para que tu los puedas leer facilmente y hacer lo que quieras con ellos (almacenarlos en una base de datos...)

Vaya parrafada, lo siento que me haya salido tan largo :( Hablo mucho!
__________________
I (L) Google
  #16 (permalink)  
Antiguo 21/07/2011, 22:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: ¿Se puede detectar el uso de file_get_contents?

Muchas gracias a los dos por responder, interesante información, seguiré investigando a ver que se puede hacer con esta poderosa herramienta, sobre todo con cURL.

Por cierto perryjr, la parrafada me ha gustado bastante.

Un saludo a todos

Etiquetas: file_get_contents
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:10.