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 SECONDSS
      boa noite, preciso entregar algumas questões até daqui a pouco,meu tempo está corrido e gostaria da ajuda de vocês para resolver essa questão. obrigado desde já!

      QUESTÃO 16 -

      Desenvolva um programa utilizando PHP e exibir os resultados desse programa que tenha todas as classes suficientes para que:
      Represente o nome completo de uma pessoa, composto de três strings (nome próprio, nome do meio e nome da família). 
      ATENÇÃO - 
      Escreva nessa classe o método rubrica que retorna somente as iniciais do nome completo em caracteres minúsculos, Escreva nessa classe o método assinatura que retorna as iniciais dos nomes próprio e do meio (com pontos) Escreva nessa classe um método que retorne o nome de família completo. Por exemplo, se o nome da pessoa representado por essa classe for “Jack Mill Dam”, o método rubrica deve retornar ”jmd” e o método assinatura deve retornar ”J.M. Dam”. Para facilitar, considere armazenar os três nomes em strings separadas.
    • By duarte.php
      Boa noite, pessoal, estou fazendo meu tcc (nível técnico kkk) e preciso de ajuda com uma conexão com o banco.
       
      Fiz um formulário para consultar empréstimos em uma biblioteca através do rm (id) e exibir os dados que estão cadastrados neste rm. 
      Estou com dificuldades para que os dados sejam puxados e exibidos na página. 
       
      Esta é a parte que pede o RM no html
      <h4 class="title">Insira o seu RM: </h4> <input type="text" name="rm" class="form-control" required/>  
      Este é o código php
      <?php $rm = $_POST['rm']; include("conecta.php"); $busca = mysql_query("SELECT * FROM tb_locador WHERE rm='$rm'"); $dado = mysql_fetch_array($busca); $nome = $dado['nome']; $ano = $dado['ano']; $curso = $dado['curso']; $tel = $dado['tel']; echo "RM: " . $rm . "<br>"; echo "Nome do locador: ".$nome. "<br>"; echo "Curso do locador: ".$curso. "<br>"; echo "Ano de início do curso: ".$ano. "<br>"; echo "Telefone do locador: ".$tel. "<br>"; ?> Até então, o único dado exibido é o RM, como faço para exibir o nome, curso, ano e telefone? 
       
    • By guzulino
      Então... eu preciso inserir uma paulada de dados em um banco de dados de vez em quando, eu até consigo importar de um CSV pro banco, mas eu preciso fazer isso através do php e eu não tenho nem ideia de como fazer isso, procurei por aqui e não achei, se alguém tem alguma resposta ou referência, manda o link que eu vou dar uma olhada. Valeu.
    • By Guss
      Agradeço quem puder me ajudar a responder essa questão de PHP <3.
      Desenvolva um programa utilizando PHP e  exibir os resultados desse programa que tenha todas as classes suficientes para que:
       
      Represente o nome completo de uma pessoa, composto de três strings (nome próprio, nome do meio e nome da família). 
       
      Escreva nessa classe o método rubrica que retorna somente as iniciais do nome completo em caracteres minúsculos,  Escreva nessa classe o método assinatura que retorna as iniciais dos nomes próprio e do meio (com pontos)  Escreva nessa classe um método que retorne o nome de família completo.  Por exemplo, se o nome da pessoa representado por essa classe for “Marijuana Pepsi Jackson”, o método rubrica deve retornar ”mpj” e o método assinatura deve retornar ”M.P.Jackson”. Para facilitar, considere armazenar os três nomes em strings separadas.
×

Important Information

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