un paio di annotazioni... se i dati che aspetti ti devono arrivare per POST, usa $_POST e non $_REQUEST perche' $_REQUEST prende tutto per buono (post/get/cookies) ....Originariamente inviato da coteaz
ok va bene, vada per una sola query, e per quanto riguarda la sicurezza cosa consigliate?
Quando verifichi l'utente non estrarre la password, ma verificala direttamente nel db.codice:$password = md5($_POST['password']);
select id, privilegi from tabella where utente = '$utente' and password = '$password'
Non usare per verificare il login isset($_SESSION['login'] perche' lascia il tempo che trova. ti dara' true anche se $_SESSION['login'] fosse vuoto. Usa empty() e ci starebbe pure bene un riferimento del valore id, ed anche un codice per i privilegi assegnati.
per esempio parti con l'id dal valore 10000 e per i privilegi assegna: admin = 2222, user = 3333
chiaro che e' un semplice esempio, si puo' fare di piu' e di meglio. Ma la sostanza e' questa.codice:<?php session_start(); if(!empty($_SESSION['id']) AND $_SESSION['id'] >= 10000 ) { if(!empty($_SESSION['privilegi']) and $_SESSION['privilegi'] == 2222 ) { pagina admin elseif($_SESSION['privilegi'] == 3333 ) { pagina user } else { accesso negato, torna al login } } else { accesso negato, torna al login }
![]()

Rispondi quotando