Jump to content
Dexter Morgan

Redirecionar http:// para https:// com PHP

Recommended Posts

Na home do site utilizo esse código para redirecionar http:// para https://

 

<?php

$ssl = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
if(!$_SERVER["HTTPS"]){
print "<script type=\"text/javascript\">location.href=\"$ssl\"</script>";
}

?>


Funciona, porém estou tentando colocar também na pagina administrativa, onde a url fica assim: (http://meusite.com/administrador/) e utilizo iframe para o cliente nao ver a url mudando, porém nao consigo fazer o redirecionamento, pelo teste que fiz o problema é o iframe, dei um print no ($ssl) e exibe a com (https://)

Share this post


Link to post
Share on other sites

Faça o redirecionamento com o PHP:

if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    $redirect_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

    header('HTTP/1.1 301 Moved Permanently');
    header("Location: $redirect_url");
    exit();
}

 

  • +1 1

Share this post


Link to post
Share on other sites

Gabriel também nao redireciona, ele só funciona se eu colocar o nome do arquivo direto: (http://meusite.com/administrador/index.php)

Edited by Gabriel Heming
Remover quote desnecessário

Share this post


Link to post
Share on other sites
10 horas atrás, Dexter Morgan disse:

e utilizo iframe para o cliente nao ver a url mudando,

Provavelmente o iframe está sem HTTPS e isto está causando essa confusão.

 

De qualquer forma se você forçar 100% de HTTPS é uma boa opção, inclusive na sua engenharia alternativa para o cliente não ver a url mudando....

 

Falando em não mudar a URL .. Conhece o conceito ajax?
https://github.com/gabrieldarezzo/desafiosInternos/tree/master/ajax#guia-definitivo-ajax

  • +1 1

Share this post


Link to post
Share on other sites
13 horas atrás, gabrieldarezzo disse:

Provavelmente o iframe está sem HTTPS e isto está causando essa confusão.

 

De qualquer forma se você forçar 100% de HTTPS é uma boa opção, inclusive na sua engenharia alternativa para o cliente não ver a url mudando....

 

Falando em não mudar a URL .. Conhece o conceito ajax?
https://github.com/gabrieldarezzo/desafiosInternos/tree/master/ajax#guia-definitivo-ajax


Gabriel eu olhei aqui e o iframe está com apenas com nome do arquivo: (cadastro.php) e eu também coloquei em todos headers (<base href="https://meusite.com/" />)

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 Diego-SLP
      Bom dia,
       
      Estou passando uma variavel via GET para uma pagina PHP e a SQL não interpreta a mesma.
       
      Se eu printar o numero é exibido, se eu colocar o valor manualmente na SQL ela funciona, porém quando coloco a variavel não exibe nenhum registro, se alguem puder me ajudar.
       
      <?php $id = $_GET['id']; echo $id; $procura = mysqli_query($con,"SELECT p.DATA,p.cod_func,f.nome,f.funcao,p.cod_etapa,p.entrada_1,p.saida_1,p.entrada_2,p.saida_2,p.entrada_3,p.saida_3 FROM rh_pontoFuncionario p, rh_funcionario f WHERE p.cod_func = f.cod AND p.cod_obra = '".$id."' ORDER BY p.id desc") or die (mysqli_error($procura)); while($row = mysqli_fetch_array($procura)){ ?> <tr role="row" class="odd table-sm"> <td class="text-center"> <?php echo date('d/m/Y',strtotime($row['DATA'])); ?> </td> <td class="text-center"><?php echo $row['cod_func'];?></td> <td class="text-center"><?php echo $row['nome'];?></td> <td class="text-center"><?php echo $row['funcao'];?></td> <td class="text-center"><?php echo $row['cod_etapa'];?></td> <td class="text-center"><?php echo $row['entrada_1'];?></td> <td class="text-center"><?php echo $row['saida_1'];?></td> <td class="text-center"><?php echo $row['entrada_2'];?></td> <td class="text-center"><?php echo $row['saida_2'];?></td> <td class="text-center"><?php echo $row['entrada_3'];?></td> <td class="text-center"><?php echo $row['saida_3'];?></td> <td class="project-actions text-center"> <a class="btn btn-warning btn-sm" href="#.php?id=<?php echo $row['id']; ?>"> <i class="fas fa-pencil-alt"> </i> </a> <a class="btn btn-danger btn-sm" href="#.php?id=<?php echo $row['id']; ?>"> <i class="fas fa-trash-alt"> </i> </a> </td> </tr> <?php }//while ?>  
    • By rodrigofv1994
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ajax";   $email = $_POST['email']; $senha = $_POST['senha'];   // Criando conexão $conn = new mysqli($servername, $username, $password, $dbname); // Checando conexão if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); }   $sql = "select mail , senha from usuarios where mail = '$email' and senha = '$senha'";   $registros=$conn->count() //$registros = mysqli_num_rows($conn);   if($registros>0){     echo "1"; }else{     echo"0"; }   $conn->close(); ?>
    • By rodrigofv1994
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ajax";   $email = $_POST['email']; $senha = $_POST['senha'];   // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); }   $sql = 'INSERT INTO usuarios VALUES (default,'$email','$senha')';   if ($conn->query($sql) === TRUE) {   echo "New record created successfully"; } else {   echo "Error: " . $sql . "<br>" . $conn->error; }   $conn->close(); ?>
    • By Camilavip
      Boa noite, alguém por acaso sabe um modo simples de se desativar um cadastro automaticamente após um período?
      Deixa eu explicar. Eu cadastro um cliente, em que na tabela do banco de dados tem o campo "ativo" onde 1 é ativado e 0 é desativado. Então eu queria cadastrar esse cliente e o ativar, mas que no período de 30 dias por exemplo ele se desativasse sozinho.  Alguém sa8e algo simples nesse sentido?
    • By Camilavip
      Boa noite a todos, estou tendo um probleminha em gravar a senha criptografada, na verdade editar, pois quando gravo vai certo, mas na edição não está dando certo.
      A baixo quando cadastro o cliente é assim, e está indo perfeito.
       
      $nome = $_POST['nome']; $email = $_POST['email']; $login = $_POST['login']; $senha = sha1($_POST['senha']); Mas na hora da edição como está um pouco diferente estou tentando colocar esse sha1 em todo lugar e não está dando
      nome='$_POST[nome]', email='$_POST[email]', login='$_POST[login]', senha='$_POST[senha]', Então no de cima no cadastro está ok, mas na edição não sei mais aonde coloco esse sha1 para dar certo ou é burrice minha mesmo,
×

Important Information

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