Problema con neophp - Forum

Forum Navigation
You need to log in to create posts and topics.

Problema con neophp

Buenas tardes,

Tengo un problema con neophp. Desde hace unos dias he notado que las apps que se loguean mediante neophp no me funcionan. Le he estado dado muchas vueltas al codigo a neofunctions y a la configuracion de config.php, pero no he visto nada extraño ( Algunas apps son antiguas).

Lo que ocurre parece ser que se bloquea en la entrada de la subrutina donde se parsea la respuesta de la function login de php, hasta que me he dado cuenta que lo que ocurre es que devuelve respuesta vacia.

Despues de investigarlo mucho, he entrado en los ejemplos y sobre todo ME HA EXTRAÑADO QUE SE REPRODUCE EL MISMO ERROR EN MI NAVEGADOR EN EL TUTORIAL DE NEOPHP, por lo que he empezado a dudar que sea mi código.

He conseguido averiguar que neophp parece volver a funcionar una sola vez si vuelvo a subir neofunctions.php al servidor.

Mediantes ordenes Echo, parece ser que neofunctions.php parece entrar a la function login pero no termina (Parece que se trunca en algun sitio).

Quería saber si alguien ha tenido algun problema similar y sabe la solución o tiene alguna idea.

Gracias.

Good afternoon,

I’m having an issue with neophp. For the past few days, I’ve noticed that apps logging in via neophp aren't working. I’ve thoroughly examined the code in `neofunctions` and the `config.php` settings, but I haven't spotted anything unusual (though some of the apps are older).

It seems to get stuck at the point where the response from the PHP `login` function is parsed; I eventually realized that the function is returning an empty response.

After investigating further, I checked the examples—and I was particularly surprised to find that the exact same error occurs in my browser when running the neophp tutorial—so I’m starting to doubt that the issue lies with my code.

I’ve discovered that neophp seems to work again—but only once—if I re-upload `neofunctions.php` to the server.

Using `echo` statements, it appears that `neofunctions.php` enters the `login` function but doesn't complete it (it seems to get truncated somewhere along the way).

I wanted to see if anyone else has encountered a similar problem and knows the solution or has any ideas.

Thanks.

 

Uploaded files:
  • imagen1.jpg
  • imagen2.jpg

@juan-carlos-santamaria-gonzalez estás utilizando la última versión de VisualNEO Web?
Acabo de recompilar y volver a subir el ejemplo del Phone Listing y funciona correctamente.
Versiones anteriores pueden no ser compatibles con las últimas versiones de PHP.

Puedes ver la prueba aquí:
https://visualneo.com/tutorials/phonelisting
User: admin
Pass: admin

Saludos.

@luishp Si, era eso. Tenia una versión anterior y al recompilar con la nueva ya funciona todo bien. Muchas gracias.

Hola @luishp

Sigo investigando el problema porque realmente no parece resuelto.

Actualicé a la última versión de VisualNEO Web, recompilé las aplicaciones y las volví a subir. Inicialmente pareció solucionarse, pero el fallo ha reaparecido.

(También ha dejado de funcionar el tutorial que tu mismo recompilaste https://visualneo.com/tutorials/phonelisting )

Lo que observo es lo siguiente:

  • Las aplicaciones que utilizan NeoPHP dejan de funcionar en el login.
  • La llamada PHP entra en la función login() de neofunctions.php.
  • Sin embargo, la respuesta llega vacía a VisualNEO.
  • He añadido varios echo de depuración y parece que la ejecución se interrumpe dentro de login(), sin llegar a completar la respuesta.
  • El comportamiento es idéntico en varias aplicaciones distintas.
  • Curiosamente, cuando vuelvo a subir neofunctions.php, la aplicación vuelve a funcionar temporalmente.

Tras investigar más creo que he detectado el problema:

Mi proveedor de hosting tiene Imunify360 instalado y he detectado que esta modificando neofunctions.php

Parece que lo detecta como malware, por eso funciona un tiempo y se vuelve a caer. Supongo que le estará ocurriendo a más usuarios.

No sé que se puede hacer.

Un saludo.

 

 

Uploaded files:
  • inmunify-1.jpg

Hola @juan-carlos-santamaria-gonzalez,

¡Excelente investigación! Efectivamente, estás en lo cierto. El problema se debe a un falso positivo de Imunify360 (y afecta también a otros firewalls o sistemas antimalware de los servidores) que altera el archivo neofunctions.php.

El motivo es que el código original del plugin utilizaba una técnica de llamada dinámica a la función basándose en los datos recibidos por $_POST. Internamente hacía algo como $funcname(...). Los sistemas de seguridad detectan esta estructura de variables como posible malware (un intento de ejecución de código arbitrario) y proceden a modificar o bloquear el archivo en el servidor, interrumpiendo su ejecución de golpe.

La solución pasa por cambiar la forma en la que se llama a esas funciones en el código para hacerlo de forma directa y estática. Ya he actualizado y corregido el código fuente del plugin para evitar este problema.

Te adjunto a este mensaje el plugin completo actualizado junto con el nuevo archivo neofunctions.php.

El Imunify360 de tu hosting ya no debería detectarlo como amenaza y todo volverá a funcionar de forma estable.

Muchas gracias por detectar la pista del Imunify360, ha sido clave para poder resolverlo.

¡Un saludo!

Uploaded files:

Buenos días @luishp

Todo funciona ya perfectamente.

Gracias a ti por contestar tan rápido.

Un saludo.

luishp has reacted to this post.
luishp