Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No se por que me aparece un https al enviar link de cambio de clave!

Estas en el tema de No se por que me aparece un https al enviar link de cambio de clave! en el foro de PHP en Foros del Web. Buenos días amigos: Tengo un acertijo para finalizar mi proyecto: Resulta que tengo un archivo php cuyo código pongo debajo: Ese script hace que a ...
  #1 (permalink)  
Antiguo 30/03/2015, 08:19
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 5 meses
Puntos: 18
No se por que me aparece un https al enviar link de cambio de clave!


Buenos días amigos: Tengo un acertijo para finalizar mi proyecto:

Resulta que tengo un archivo php cuyo código pongo debajo: Ese script hace que a mi correo me llegue un LINK para cambiar mi clave de acceso en mi web.

Ese link, llega con un "https" a mi bandeja outlook.com, como lo muestro aquí:


A mi sitio no se accede a través de https ni mucho menos. Lo raro es que cuando hago la prueba de enviar el link a un correo google, por ejemplo no pasa eso, simplemente sigue la ruta del dominio y las carpetas que están especificadas en este script que hay debajo en php, es decir, como debería ser.

Revisé todos estos archivos que estoy usando y no hay una referencia a https declarada, ni nada. Por lo visto se trata de cómo gestiona cada gestor de correos los mensajes, pero alguien tiene idea de cómo puedo evitar esto?

De antemano gracias.



Código PHP:
<?php
    
function generarLinkTemporal($idusuario$usuario){

        
$cadena $idusuario.$usuario.rand(1,9999999).date('Y-m-d');
        
$token sha1($cadena);
        
        
$conexion = new mysqli('ipagemysql.com''XXX''XXX#''XXXX');

        
$sql "INSERT INTO tblreseteopass (idusuario, usuario, token, creado) VALUES($idusuario,'$usuario','$token',NOW());";

        
$resultado $conexion->query($sql);
        if(
$resultado){
            
$enlace $_SERVER["SERVER_NAME"].'/CLAVE/restablecer.php?idusuario='.sha1($idusuario).'&token='.$token;
            return 
$enlace;
        }
        else
            return 
FALSE;
    }

    function 
enviarEmail$email$link ){

        
$mensaje '<html>
        <head>
             <title>Tu Clave - Sitio</title>
        </head>
        <body>
            <img src="http://xxxxxxxxxx/img/logo_web.jpg" width="450" height="116" alt="Medina y Rivera" />
             <p>Apreciado compañero (a) hemos recibido una petición para restablecer la clave de tu cuenta.</p>
             <p>Si hiciste esta petición, haz clic en el siguiente enlace, si no hiciste esta petición puedes ignorar este correo.</p>
             <p>
                 <strong>Sigue el enlace para restablecer tu clave</strong><br>
                 <a href="'
.$link.'"> Restablecer tu Clave </a>
             </p>
        </body>
        </html>'
;

        
$cabeceras  'MIME-Version: 1.0' "\r\n";
        
$cabeceras .= 'Content-type: text/html; charset=utf-8' "\r\n";
        
$cabeceras .= 'From: Sitio Web MyR <[email protected]>' "\r\n";
        
        
mail($email"Recuperar Clave - Sitio"$mensaje$cabeceras);
    }
    
    
$email $_POST['email'];
    
$respuesta = new stdClass();

    if( 
$email != "" ){   
           
$conexion = new mysqli('ipagemysql.com''myr2014''Myr2014#''myr2014');

           
$sql " SELECT * FROM XXXXXXX WHERE email = '$email' ";
           
$resultado $conexion->query($sql);

           if(
$resultado->num_rows 0){
              
$usuario $resultado->fetch_assoc();
            
$linkTemporal generarLinkTemporal$usuario['id'], $usuario['usuario'] );
              if(
$linkTemporal){
                
enviarEmail$email$linkTemporal );
                
$respuesta->mensaje '<div class="alert alert-info"> Un correo ha sido enviado a tu cuenta de email con las instrucciones para restablecer la contraseña, tardará de 30 a 50 segundos. </div>';
              }
           }
           else
               
$respuesta->mensaje '<div class="alert alert-warning"> No existe una cuenta asociada a ese correo. </div>';
    }
    else
           
$respuesta->mensaje"Debes introducir el email de la cuenta";
     echo 
json_encode$respuesta );
    
?>
  #2 (permalink)  
Antiguo 30/03/2015, 09:29
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: No se por que me aparece un https al enviar link de cambio de clave!

No le estas enviando nada ahí, ya que $_SERVER["SERVER_NAME"] solo te devualve el dominio.com sin http:// y sin https:// , entonces seguramente el sistema de email se lo esta poniendo con https por seguridad. .Ponele el http y listo:

Código PHP:
Ver original
  1. $enlace = 'http://'. $_SERVER["SERVER_NAME"].'/CLAVE/restablecer.php?idusuario='.sha1($idusuario).'&token='.$token;
  #3 (permalink)  
Antiguo 30/03/2015, 09:59
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 5 meses
Puntos: 18
Respuesta: No se por que me aparece un https al enviar link de cambio de clave!

Genio. mil gracias.

Etiquetas: html, https, link, mysql, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.