Ho letto parecchi post che sono molto simili alla domanda che sto per chiedere, ma volevo solo essere sicuro che non esistesse un modo più sofisticato di Fai questo. Qualsiasi feedback è molto apprezzato.passare parametri a php include/require construct
Desidero creare un meccanismo per verificare se un utente che ha effettuato l'accesso abbia accesso allo script php attualmente chiamato. Se è così, lo script continuerà; in caso contrario, lo script fallisce semplicemente usando qualcosa come die('you have no access')
.
mi si avvicinò con due modi di realizzare questo:
(si prega di assumere le mie cose sessione è codificata/lavorando bene - vale a dire che io chiamo session_start(), ha istituito la sessione Le variabili di corretta ed ecc)
Definire prima una variabile globale, quindi controllare la variabile globale in un file di intestazione richiesto. Per esempio:
Contenuto current_executing_script.php:
// the role the logged in user must have to continue on $roleNeedToAccessThisFile = 'r'; require 'checkRole.php''
Contenuto checkRole.php:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
definire una funzione all'interno del file di intestazione e chiamare la funzione subito dopo l'inclusione/richiedendo it:
Contenuto di checkRole.php:
function checkRole($roleTheUserNeedsToAccessTheFile) { return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile); }
Contenuto current_executing_script.php:
require 'checkRole.php'; checkRole('r') or die('no access for you');
Mi chiedo se c'è un modo per passare fondamentalmente solo un parametro per checkRole.php come parte del includere o richiedere costruire?
Grazie in anticipo.
Grazie Spudley, quindi sembra che tu ritenga che il mio approccio # 2 sia la strada da percorrere in quel momento. Grazie ancora. – JoJoeDad