Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Login sicuro SSL

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144

    Login sicuro SSL

    Ciao a tutti!
    Mi scuso in anticipo per la domanda probabilmente banale, ma non riesco a capire bene questa cosa...

    Io vorrei che al login di un utente si possa passare ad una connessione sicura (https) per poi tornare a lavorare con il protocollo http.

    Come posso fare?
    Il browser ed il server hanno abilitato SSL.
    Nel codice cosa cambia?
    Devo passare le informazioni xml,ajax? oppure posso anche in php?

    Non ho ben chiaro questo passaggio, ho cercato in rete ma non sono riuscito a trovare nulla che mi chiarisse le idee...

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Nessuno sa darmi una mano?

  3. #3
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    non mi è chiaro cosa non ti è chiaro

    cioè, il discorso ssl è semplice: sia la pagina che invia i dati (quindi con il login form) che quella che li riceve (quindi che controlla la correttezza, che fisicamente potrebbe anche essere lo stesso script) devono essere servite dal server via https.
    Poi cambia poco se i dati se li mandi in maniera sincrona o asincrona.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Hai ragione, io ho questo codice del login... due file, uno semplice login.php che si occupa solo di far vedere all'utente il form da compilare e uno autenticazionelogin.php che si occupa dei vari controlli, li posto qui:

    Codice PHP:
     <?php
     
    require_once('header.php');
    require_once(
    'pagetop.inc');

    echo 
    "<center>

    <font size=\"3\" >[b]Per effettuare il login inserisci username e password![b]</p></font></center>

    "
    ;

     
    ?>
     <form action='autenticazionelogin.php' method='POST'>
          <table align='center' width='100%' border='0'
                 cellspacing='0' cellpadding='0'>
          <tr>
            <td width='40%' align='right' class='normalTable'>
              User Name:
            </td>
            <td align='left'>
              <input type='text' size='20' name='user'/>
            </td>
          </tr>
          <tr>
            <td width='40%' align='right' class='normalTable'>
              Password:
            </td>
            <td align='left' class='normalTable'>
              <input type='password' size='20' name='pass'/>
            </td>
          </tr>
          </table>
          <p align='center'>
            <input type='submit' value='Login'/>
          </p>
        </form>

    ....

    autenticazionelogin.php

    Codice PHP:

    <?php 


    require_once('header.php');
    require(
    'connessionedb.php');

    require_once(
    'pagetop.inc');

    if(!isset(
    $_SESSION['log'])) 

    $_SESSION['log'] = 0

    if(!isset(
    $_SESSION['username'])) 

    $_SESSION['username'] = "Non Registrato"


    // Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è logato 
    if ($_SESSION['log'] != 1

    // Se non lo è procediamo come segue: 
    if(isset($_POST['pass']) && isset($_POST['user'])) 

      
    $qry_pass mysql_real_escape_string(md5($_POST['pass'])); 
      
    $qry_user mysql_real_escape_string($_POST['user']); 
      
    /*Da notare l'utilizzo di md5 per trasformare di nuovo il valore della 
      password passata nel suo hash per poterla confrontare con quella contenuta nel db. 
      Poi procediamo verificando username, password e stato registrazione */ 
      
    $query "SELECT * " 
                
    "FROM user " 
                
    "WHERE user_username = '$qry_user' " 
                
    "AND user_password = '$qry_pass' " 
                
    "AND user_reg = 1 "
      
    $results mysql_query($query) or die (mysql_error()); 

      if(
    mysql_num_rows($results) != 0
      { 
       
    $row mysql_fetch_array($results); 
       
    $_SESSION['log'] = 1// utente logato 
       
    $_SESSION['username'] = $row['user_username']; 
      } 







    ?> 


    <html> 
    <head> 
    <title>Home Page</title> 
     
    <SCRIPT LANGUAGE="JavaScript"> 
    function ver() 
       { 
       for (i=0; i<document.forms[0].elements.length; ++i) 
          if(document.forms[0].elements[i].value == "") 
             { 
             alert("Inserire username e password!"); 
             document.forms[0].elements[i].focus(); 
             return false; 
             } 
       return true; 
       } 
    </SCRIPT> 
    </head> 
    <body> 


     
    <?php 

    if ($_SESSION['log'] != 1




     
    ?>

    </br>

    <table width="1151" border="0">
      <tr>
        <th width="327" scope="col"></th>
    </br>
    </br>
    </br>
    </br>
        <th width="542" scope="col">
        <?php 


        
    echo "Username o password errati! torna al [url="login.php><center>

    <
    font"][b]login[b]</p></font></center>[/url]";
        
    ?> </p></th>

        <th width="268" scope="col">
        </th>
      </tr>
    </table>

    </br>
    </br>
    </br>
    <p align="center"></p>



    </p>



    <?php



    }else { 

     
    echo 
    "<center>

    <font size=\"3\" >[b]Login effettuato correttamente! torna alla  <a href=index.php>home[b]</p></font></center></a>"
    ;


    }
    ...
    Ora io vorrei passarli in modo sicuro con https, controllare la correttezza e ritornare alla home di nuovo in http normale.

    Come posso fare?

    Grazie mille per l'attenzione
    Ciao

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    beh, quando l'utente quando arriva al login.php, devi fare in modo che arrivi da un link che punti al https.

    Quindi, supponendo che arrivi da index.php, nel index.php devi avere clicca qui per loggarti

    poi nel login.php devi fare <form action='https://www.tuosito.it/autenticazionelogin.php' method='POST'> , in questo modo l'utente posta i dati via https

    Poi , nel autenticazionelogin.php (se hai fatto i passaggi di sopra, ti trovi in modalita ssl) quando hai fatto i controlli e gli mandi il messaggio "login ok", lo butti indietro sul http con header('Location: http://www.tuosito...


    Naturalmente parto dal presupposto che il ssl sul tuo server sia veramente correttamente configurato e funzionante.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Grazie mille, ho fatto tutto, ma mi da questo errore:

    Connessione non riuscita


    Firefox non può stabilire una connessione con il server localhost.


    * Il sito potrebbe non essere disponibile o sovraccarico. Riprovare fra qualche momento.

    * Se non è possibile caricare alcuna pagina, controllare la connessione di rete del computer.

    * Se il computer o la rete sono protetti da un firewall o un proxy, assicurarsi che Firefox abbia i permessi per accedere al web.



    Molto probabilmente, anzi sicuramente perchè non ho mai configurato apache per questo
    Sapresti mica dirmi il link di una guida per configurare apache? Grazie mille

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Dimenticavo, uso windows xp... si può?

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    gia'. non hai configurato il ssl, il server semplicemente non ti risponde sulla porta 443.

    per la guida, boh, fai un po su google windows apache ssl, o qualcosa del genere, ce ne saranno a tonnellate..

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Visto che sei così gentile ne approfitto per chiederti un'altra cosa

    Devo inviare dei dati presi tramite form al server (esempio numeri di carta di cretido)in maniera criptata xml, il server deve controllare i dati(se il numero di carta esiste nel database) e restituire transazione avvenuta oppure meno.

    Io ho fatto il classico form in php, come faccio a mandare criptato in xml?
    Grazie mille

    Codice PHP:

    <?php


    require_once('header.php');
    require_once(
    'pagetop.inc');


    if (
    $_SESSION['log'] != 1

    echo 
    "Devi fare il login per entrare in questa sezione!" 
          
    "ritorna alla Home Page ed effettua il Login.

    "

    echo 
    "<a href=\"index.php\"><<< Clicca qui per ritornare alla Home Page</a></p>"
    exit(); 

    ?> 
    <html> 
    <head> 
    <title>Pagamento</title> 

    <SCRIPT LANGUAGE="JavaScript"> 
    function ver() 
       { 
       for (i=0; i<4; ++i) 
          if(document.forms[0].elements[i].value == "") 
             { 
             alert("Riempire tutti i campi obbligatori!"); 
             document.forms[0].elements[i].focus(); 
             return false; 
             } 
       return true; 
       } 
    </SCRIPT> 

    </head> 
    <body> 


     

    <p align='center'>

    <h3> <p align='center'> Pagamento:</h3>
        
    </br>

      </p>


     <form name="modulo" action="autenticazione.php" method="post" onSubmit="return (ver());"> 

        <table align='center' width='100%' border='0'>

        <tr>

          <td width='18%'>Numero:</td>

          <td width="82%" bgcolor="#FFFFFF">

            <input name="numero" type="text" size="20" maxlength="25">
            
          
          

          <td width="0%"></td>

        </tr>
        
        <tr>

          <td width='18%'>Intestatario:</td>

          <td>

            <input name="intestatario" type="text" size="20" maxlength="50">
            


        </tr>  

        <tr>
         <tr>

          <td width='18%'>Scadenza:</td>

          <td>

            <input name="scadenzamese" type="text" size="02" maxlength="2">
            <input name="scadenzaanno" type="text" size="02" maxlength="2">
            
        

        </tr>

      
        <tr>

          <td width='18%'>Codice sicurezza:</td>

          <td>

            <input name="codicesicurezza" type="text" size="20" maxlength="40">
            
        

        </tr>
       
       
       <tr>
            <td colspan="2" align="center"><input type="submit" name="Submit" value="Invia il pagamento"> 
        </tr>
    </p>

    </table>

    </form>
      

     
    </body> 
    </html>

  10. #10
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Non aspettarti da me codice pronto, posso solo indirizzarti sulla strada giusta

    1. Crei la stringa xml in base ai dati che ti arrivano
    2. La puoi criptare con l'algoritmo rsa (copia di chiavi), utilizzando le funzioni mcrypt
    3. La invii con un post utilizzando le funzioni socket o curl al server
    4. Il server la decripta con la sua chiave, e la elabora.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.