Cita: Una aclaración sobre esto: El 'agente usuario' imagino que debe ser quien utiliza el script, con su máquina y su configuración. ¿Es así?.
El "agente" es el programa/aplicación que se conecta a tu servidor HTTP y pide tu script PHP en consecuencia. (Es PHP quien obtiene el dato tras "preguntar" por dicha cabecera HTTP al servidor HTTP).
Un "agente" puede ser un navegador común .. también un gestor de descargas actua como "agente" y son estos por ejemplo los que más juegan con ese dato para "hacerse pasar" por cierto tipo de navegador ...
En otros casos, muchos proxys eliminan la referencia de donde viene referido o que cliente es sutituyendo por cosas como "publicidad" de cierto proxy he visto en log's de "referidos". En este caso es tu "proxy" el que hace de "Agente" en última instancia el cual pasa o no "trasnparente" la información del "agente" de tu navegador de origen.
Por otro lado .. un "script" PHP puede usar funciones de conexión por sockets usando el protocolo HTTP y por ende "hacerse" pasar por cualquier "agente" siempre que se respete el standar del HTTP en la comunicación.
Cita: Otra cuestión: Entiendo que utilizar $_SERVER['PHP_SELF'] ; debe ser en todos los casos seguro ya que es una construcción propia e interna del script y por tanto independiente de quien y cómo se solicite. ¿Es así?.
Si, .. esa información es PHP quien "pregunta" al sistema (ahí no sé si lo hace al servidor HTTP o no . .pues no sé como se comporta en modo CGI) en que "URI" está ubicado el script que se está ejecutando.
Cita: Gracias por vuestras aclaraciones. El tema me interesa porque estoy usando REFERER para un script de recomendación de página. Realmente, la solución que indica Cluster es más segura. (Perdona NICOLASPAR, pero la tuya no la comento porque realmente no acabo de entenderla, pero seguro que es buena)
Tan sólo "expliqué" en palabras el ejemplo que puso en código Nicolaspar:
http://www.forosdelweb.com/showpost....18&postcount=2
Él enfocó la solución a uso de sesiones (lo cual es lo más seguro) ..pero la base de esta técnica es lo que comenté y para desarrollarla se pueden usar várias soluciones: sesiones, cookies .. propagación en el URL ..
Un saludo,