Jump to content
lvsis

PHP PDO com MySQL SSL

Recommended Posts

Estou trabalhando com conexões seguras no MySQL e para isso todas elas são feitas através do SSL. Só que quando tento conectar com o banco pelo navegador a seguinte mensagem aparece:

 

SQLSTATE[HY000] [3159] CONNECTIONS USING INSECURE TRANSPORT ARE PROHIBITED WHILE --REQUIRE_SECURE_TRANSPORT=ON.

 

No SGBD eu escolhi uma opção que requer a conexão SSL e deu certo mas não sei como fazer isso no PHP PDO.

 

Abraços.

Share this post


Link to post
Share on other sites

Pesquisando por ai achei uma constante PDO que fez funcionar a conexao:

 

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false

 

Ela faz com que os certificados do servidor não sejam verificados, mas eu não queria isso pois qualquer caminho que informe na constante libera a conexao normalmente e eu não sei se essa conexao é protegida

Share this post


Link to post
Share on other sites
11 horas atrás, lvsis disse:

Esse caminho é o arquivo do servidor?


Sim.

10 horas atrás, lvsis disse:

Pesquisando por ai achei uma constante PDO que fez funcionar a conexao:

 

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false

 

Ela faz com que os certificados do servidor não sejam verificados, mas eu não queria isso pois qualquer caminho que informe na constante libera a conexao normalmente e eu não sei se essa conexao é protegida

Não é.

Aquele código que eu disse é sim, basta você adicionar o certificado.

Se você der uma rápida olhada no Google tem milhares de formas de fazer isso.

 

Mas pelo que eu entendo, você usa isso quando seu banco de dados é em outro servidor com outro IP

então para ter uma conexão segura usa, mas se for no mesmo local, eu não acho que seja necessário

 

Bem, isso é minha opinião.

 

Share this post


Link to post
Share on other sites

Estou enfrentando problema semelhante com o erro:

Erro: SQLSTATE[HY000] [9002] SSL connection is required. Please specify SSL options and retry.

 

Estou passando as opções conforme abaixo, mas o erro persiste:

$conn = new PDO(
  "mysql:host=host;port=3306;dbname=bd;charset=utf8;",
  "user", 
  "senha", 
  array(
  PDO::MYSQL_ATTR_SSL_KEY => 'c:\ssl\BaltimoreCyberTrustRoot.crt.pem',
  PDO::MYSQL_ATTR_SSL_CERT => 'c:\ssl\BaltimoreCyberTrustRoot.crt.pem',
  PDO::MYSQL_ATTR_SSL_CA => '../ssl/BaltimoreCyberTrustRoot.crt.pem'
); 

 

Alguma dica?

 

EDIT: estou utilizando BD mysql no Azure.

Edited by wischutz
Inseridas informações do servidor.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By terra
      Olá,
       
      Preciso pegar o valor desse select
       
       
       aqui nessa query
       
       
      Agradeço qualquer ajuda
    • By violin101
      Caros amigos, saudações...
       
      Gostaria de tirar uma dúvida com os amigos se tem a possibilidade de fazer e como fazer.
       
      A pasta MODELS tem como fazer separado como a pasta CONTROLLERS, por exemplo:
       
      a pasta controller consigo fazer assim: PASTA e SUBPASTAS.
       
      controller
      |__ Admin
      |_____ Estoque
      |_______ Financeiro
       
      na pasta Models, fica tudo junto as funções, como por exemplo:
      admin_model.php
      caixa_model.php
      vendas_model.php
      e etc
       
      na Models, tem como fazer como na pasta controller, assim:
      |__ Admin
           |__ admin_model.php
      |_____ Estoque
                 |__ estoque_model.php
      |_______ Financeiro
                    |__ caixa_model.php
       
      para chamar uma função no controller, faço desta forma: 
      <?php $this->load->model('categorias_model'); $this->data['categorias'] = $this->categorias_model->getActive('categorias', 'categorias.idCategorias,categorias.categoria'); ?>  
      Conforme minha dúvida acima, como seria o caminho para chamar esta função:   
      $this->load->model('categorias_model');
       
       
      Grato,
       
      Cesar
    • By Samuel Pietro
      Tenho um select em PDO e preciso que a consulta retornada vire uma variavel, mas a variavel só pega a ultima linha da tabela e eu preciso que pegue todas as linhas que existirem.
       
      $conexao = conexao::getInstance(); $sql = 'SELECT * FROM RegistroE'; $stm = $conexao->prepare($sql); $stm->execute(); $Sql = $stm->fetchAll(PDO::FETCH_OBJ); foreach ($Sql as $SqlReg): $conteudo_meio = picture_X($SqlReg->E_01,1) .picture_X($SqlReg->E_02,25) .picture_9($SqlReg->E_03,4) .picture_X($SqlReg->E_04,14) .picture_9($SqlReg->E_05,8) .picture_9($SqlReg->E_06,8) .picture_9($SqlReg->E_07,8) .picture_9($SqlReg->E_08,8) .picture_9($SqlReg->E_09,8) .complementoRegistro(96,"brancos") .picture_9($SqlReg->E_11,1) .complementoRegistro(1,"brancos") ; endforeach; Como eu poderia está fazendo isto?
    • By peterstefan
      Bom dia, estou fazendo uma cadastro via rest e estou utilizando o curl para cadastrar no webservice...
      Meu código está cadastrando tudo certinho, porem quando ele cadastra e mostra o retorno que foi cadastrado com sucesso ele fica o AGUARDE, CARREGANDO e não para.. não sei oque esta faltando pq já tentei varias coisas e não deu certo... 
       
       
       
      $Data = [ "nomeRazaoSocial" => $PostData['nomeRazaoSocial'], "identMF" => $PostData['identMF'], "email" => $PostData['email'], "telefone" => $PostData['telefone'], "senhaProvisoria" => $PostData['senhaProvisoria'] ]; $DataString = json_encode($Data); $curl = curl_init(WEBSERVICECADASTRO); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, $DataString); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($DataString)) ); $result = curl_exec($curl); if ($result) { $jSON['success'] = "<i class='icon-checkmark'></i>Pronto, cadastro foi realizado com sucesso!"; }else{ $jSON['error'] = "<i class='icon-warning'></i>Oops! Erro ao cadastrar! Por favor, tente novamente!"; }  

       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.