Erro ao enviar SMS na versão 24.01

Olá fórum, prazer em revê-los.

Detectamos um problema nas mensagens de SMS na versão 24.01, prontamente nosso time começou a investigar o problema, achamos a causa e duas possíveis soluções, porém é necessário que o time do MK Auth verifique nossas informações e avalie o que encontramos.

Identificamos que o MK Auth está removendo as aspas duplas ( " ) e simples ( ' ), ao observar o arquivo gerado pelo MK Auth para efetuar o disparo de fato ( "/opt/mk-auth/jobs/SMS/PLAYPOST-XYZ" ) as linhas:

curl_setopt($curl, CURLOPT_POSTFIELDS, "u=&p=oooo&to=ooooo&msg=%7B1%3AOOO%7D&token=&celular=%2BOOOO&mensagem=%7B1%3AOOO%7D");

E

$log->bindValue(':mensagem', '{1:OOO}');

 Estão sem as aspas, mas analisando as requisições do frontend para o backend notamos que todas possuem as aspas, conforme também observamos que essa parte que salva o log no banco é nova, então acreditamos que as mesmas estão sendo removidas para que as mensagens enviadas sejam salvas no banco/log, ou seja, o script que gera esse cron final deve estar fazendo a remoção das aspas. Provavelmente existe algo assim nele:

$mensagem_sem_aspas = preg_replace('/[\'"]/', '', $mensagem);

Com base nessas informações temos duas recomendações ao time do MK Auth para que o problema possa ser resolvido.

Primeira:

Não efetuar a remoção das aspas, mas sim escapar elas, o método "bindValue" é responsável por tratar o valor a ser inserido no banco de dados sem que a query tenha o conteúdo interpretado, ou seja, ela previne a vulnerabilidade de SQL Injection.
A necessidade de escapar se dá por estar gerando um novo arquivo onde o conteúdo é envolvido em aspas simples, então ao menos as aspas simples das mensagem precisam ser escapadas para não quebrar o script final, então nossa sugestão é não mexer na mensagem até chegar na linha do "bindValue".

Ficando assim:

$cron .= '$log->bindValue(\':mensagem\', \'' . str_replace('\'', '\\\'', $mensagem) . '\');';

 Segunda:

Outra alternativa seria remover as aspas após a criação da linha:

curl_setopt($curl, CURLOPT_POSTFIELDS, "u=&p=oooo&to=ooooo&msg=%7B1%3AOOO%7D&token=&celular=%2BOOOO&mensagem=%7B1%3AOOO%7D");

Somente após criar essa linha poderão ser removidas as aspas, pois após ela a mensagem será enviada como foi criada dentro do MK Auth, mantendo a integridade do conteúdo.

----------

 

Pensamos nessas duas alternativas que acreditamos ficar de acordo com as boas práticas que o MK Auth vem seguindo e consegue atender a casos mais específicos dos clientes.

Nosso time está a disposição 24/7 do time do MK Auth e de nossos clientes através do WhatsApp wa.me/5549999251349 ( 49 99925 1349 ).

Caso outros usuários do fórum tenham dúvidas estaremos monitorando esse post e respondendo na medida do possível.

Segue site do nosso sistema: lp.iungo.space

Um forte abraço do time da iungo web! 🧡

Para adicionar comentários, você deve ser membro de MK-AUTH.

Join MK-AUTH

Enviar-me um email quando as pessoas responderem –

Respostas

  • Bom dia, algum retorno sobre o problema?

    Mais clientes estão sendo afetados!

This reply was deleted.