Para todos los que estan usando las librerías de PHP de Denis Basta (como yo), luego de actualizar tu RouterOS a la version 6.43 «en adelante» van a tener el inconveniente de que la libreria deja de funcionar (de conectar mas bien). Esto se debe a que el Team de Mikrotik Modifico la manera en que RouterOS internamente almacena las contraseñas, ya que según explican en su foro ellos comparan al viejo Telnet inseguro que usa contraseñas en texto plano con el API inseguro, y el SHH con el API HTTPs. Esto genera un poco de controversia entre los que usan el API sin HTTPs ya que lo bueno era que al menos las contraseñas viajaban encriptadas.
A raíz de las ultimas vulnerabilidades y tantos ataques dirigidos a dispositivos con Mikrotik, han tenido que hacer muchos cambios que nos obliga a tener que ponernos las pilas e instalar un certificado en cada router para no ser víctimas de los ataques de diccionario (con MKBrutus u otros) que atacan el puerto 8728 (API inseguro). Seria muy importante tener también HTTPs en el dominio donde tengamos corriendo la libreria.
Si se fijan en el manual explican la diferencia entre lo que seria el antes y el después de la version 6.43. Incluso aclaran que en la version 6.45.1 ya se toma como obsoleto.
Por suerte hay un colega que edito la libreria de Denis Basta para que intente conectar primero de forma segura, si no tiene exito lo hace de manera plana. A editar nuestro codigo.!. Si se fijan en la linea 109 y 116 estan las 2 formas de loggeo.
Saludos!!!
____________________
Primero en tech-nico.com/blog
saludos. muy importante sus informaciones. muy agradecido.
Muchas gracias por la información, vine precisamente después de actualizar a la versión 6.45y vi que el API no funcionaba.
Un detalle a tener en cuenta es que algunas funciones entre la API 1.4 y 1.6 cambiaron, dejo lo que cambió a continucación. routeros_api(); => RouterosAPI(); y
parse_response($READ); => parseResponse($READ);
Muy Importante la aportación Yurleison Benitez, muchas Gracias
Alguien que ya aya resuelto que brinde mas informacion
Cual seria la solución?
yo tengo funcionando una pequeña aplicación armada con codigo de este bendito sitio y con la actualización del mikrotik ya no funcionaba. Ahora esta nuevamente arriba con esta versio de API habiendo cambiado en el resto del código lo que indica Yurleison Benitez
alguien nos puede dar una guia de como solucionarlo como para que lo entiendan unos simples mortales por favor
Yaco lo que pasa es que al actualizar a la nueva API se hicieron unos pequeños cambios en el nombre de dos funciones lo cual seguro va a evitar que tu aplicación funcione, lo que tienes que hacer es revertir los nombres de esas dos funciones que sería lo más sencillo routeros_api() cambió a RouterosAPI() y
parse_response($READ) cambió a parseResponse($READ)
Se aconseja cambiar el puerto de acceso a API por uno diferente y bloquear el acceso solo desde direcciones IP especificas.
Tengo una pequeña aplicacion en PHP+MySQL+API MKT, la cual funcionaba excelente por años con la ver API 1.4 y MKT v.5.21.
Cambie a MKT v.6.45 y no he podido realizar con exito la comunicacion entre API 1.6 y MKT 6.45, tomando en cuanta los cambios en RouterosAPI() y parse_response($READ).
Alguna ayuda mas precisa, para tratar de solventar el inconveniente????
Pingback: Cambios en RouterOS a partir de la versión 6.43: API Class con passwords en texto plano – } José Benítez {