Buongiorno a tutti,
sto provando a sperimentare la funzione di autenticazione con http.
Ho trovato questo codice che ho modificato per le mie esigenze(modifica momentanea siccome dovrò metterci ancora mano):
Codice PHP:
<?php
  
if (!isset($_SERVER['PHP_AUTH_USER'])) 
  {
    
header('WWW-Authenticate: Basic realm="localhost"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'Messaggio da inviare se si preme il tasto Cancel';
    exit;
  } 
  else 
  {
    
$user strtolower(trim($_SERVER['PHP_AUTH_USER']));
    
$pass strtolower(trim($_SERVER['PHP_AUTH_PW']));
    echo 
"<a href=\"login.php?param=$user&param2=$pass\">"
    
    
$return $_GET['param'];
    echo 
"$return";
    
    if (
$return == 1) {
        
header('WWW-Authenticate: Basic realm="localhost"');
        
header('HTTP/1.0 401 Unauthorized');
        echo 
'Messaggio da inviare se si preme il tasto Cancel';
        exit;
    } elseif (
$return == 0) {
        
?>
            [b]Benvenuto[/b]
        <?php
    

     
  }
?>
parte del codice l'ho preso dal link: http://php.net/manual/en/features.http-auth.php
Come potete vedere dall'index.php rimando i dati alla pagina login.php:
Codice PHP:
<?php

include_once("include/config.php");

$username $_GET['param'];
$password $_GET['param2'];

$utente mysql_escape_string($username);
$passwo mysql_escape_string($password);

$sql "SELECT username, password
        FORM utenti
        WHERE username='
$utente' AND password='$passwo'";

$res mysql_query($sql) or die ('Invalid query: ' .mysql_error());

if (!isset(
$res)) {
    
$return 1;
    echo 
"<a href=\"index.php?param=$return\">";  
} else {
    
$return 0;
    echo 
"<a href=\"index.php?param=$return\">";
}

?>
la variabile return serve a farmi sapere se la query ha trovato risultati positivi oppure no.
Ma mi da un errore a riga 15 dell'index dove mi dice che param non è definito e alla linea 8 e 9 nella pagina login.php:
codice:
Deprecated:mysql_escape_string(): This function is deprecated, use mysql_escape_string() instead. in C:\.....
Sto tentando di utilizzare questo tipo di login anche per evitare SQL injection, rischio che con l'attuale tipo di login da me creato, sono soggetto.

Grazie a tutti