2011-04-04 18 views
5

¿Alguien sabe de un script PHP que se ejecuta como un servidor proxy (SIN usar un servidor web como Apache)? Estoy buscando uno basado en PHP para poder editar/modificar el tráfico que lo atraviesa (por razones de seguridad). Lo más parecido que he encontrado es philtron (http://philtron.sourceforge.net/), pero parece ser un proyecto obsoleto y ya no funciona con PHP5.PHP HTTP Proxy Server

+3

PHP no sería exactamente mi primera opción para implementar un servidor completo, por lo que diría que sus posibilidades de encontrar uno son probablemente escasas. – deceze

+0

Sí. Ver mi respuesta a continuación. Es muy simple implementar un proxy http en PHP utilizando el servidor web incorporado. A continuación, puede modificar las páginas como lo hizo con philtron, pero utilizando la tecnología actualizada para analizar y manipular los datos. . . Al igual que PHP: DOMDocument, pasando javascript a través del nodo y transformándolo con esprima, limpiando el html con html tidy, etc. – Kastor

+0

[Aquí hay un script simple] (http://stackoverflow.com/a/17040356), que funciona a través de una conversación proxied HTTPS. Tengo [esta biblioteca trabajando también] (https://github.com/jenssegers/php-proxy), pero solo en modo HTTP, mientras que estoy buscando el soporte 'CONNECT'. Este último parece mucho más estable y probado, pero supongo que no se puede ejecutar como un proxy HTTPS. – halfer

Respuesta

0

No soy un gran experto en PHP y estoy seguro de que uno puede implementar servidores web en PHP, pero no es así como se hace. Si no quiere usar Apache intente usando nginx (liviano, fácil de cambiar, etc.).

Sin embargo, creo que sus requisitos son raros. Es como decir que quieres escribir una página HTML en lenguaje ensamblador. Posible pero no la mejor manera. Si necesita algo como un proxy que pueda detectar el tráfico, debe usar haproxy y modificarlo según sus necesidades.

3

Puede usar Nanoweb, un servidor web implementado en PHP. Viene con mod_proxy. Aunque manipular el tráfico requerirá algunos cambios de código más. No fue pensado para eso. OTOH es la solución PHP más compatible con HTTP/1.1 que encontrarás.