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! 🧡
Respostas
Bom dia, algum retorno sobre o problema?
Mais clientes estão sendo afetados!
Olá, faz quatro meses que abrimos este tópico e não tivemos nenhum retorno sobre a correção do bug que remove as aspas das mensagens.
Eu desisti, fiz meu próprio sistema de envios.
https://mk-auth.com.br/forum/topics/sistema-mk-msg-envio-de-mensage...
Inclusive com o nome igual do nosso sistema