- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- protezione accesso al Blog
-
protezione accesso al Blog
Ciao a tutti
sono nuova di questo forum, vi scrivo per esporvi il mio problema.
E' tutta la sera che provo a mettere una protezione di questo tipo all'accesso al mio blog:
Solo che non riesco a trovare il codice.
Inoltre volevo chiedervi se sapete quali sono e dove si impostano la login e la password e nel caso fossero già state impostate dove si modificano?
Grazie mille per l'aiuto!
Ary
-
[php]
function authenticate() {
header('WWW-Authenticate: Basic realm="Nome Pagina"');
header('HTTP/1.0 401 Unauthorized');
echo "Per poter accedere a questa risorsa occorre inserire una coppia login e password valide\n";
exit;
}if (!isset($_SERVER['PHP_AUTH_USER'])) {
authenticate();
} else {
$u=$_SERVER['PHP_AUTH_USER'];
$p=$_SERVER['PHP_AUTH_PW'];
//test password
if($user)
{
//mostra blog
}
else
{
echo "login errato, verrete rimandati automaticamente alla pagina per effettuare un corretto login.";
echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
echo "<input type='submit' value='Ri autentifica'>\n";
echo "</form></p>\n";
}
}[/php]se lo snippet risultasse poco chiaro: http://www.goldenweb.it/manuale_php/features.http-auth.php
-
Ma dove vanno impostate le password e gli user id? Scusate in anticipo per l'ignoranza.
-
dipende da blog a blog il controllo e la gestione delle utenze...
-
Io lo dovrei implementare in wordpress...che usa mysql...come dovrei fare?
-
grossomodo così
[php]
/* Nel template dell'header all'inizio subito dopo require(ABSPATH . 'wp-blog-header.php'); */function authenticate() {
header('WWW-Authenticate: Basic realm="Nome Pagina"');
header('HTTP/1.0 401 Unauthorized');
echo "Per poter accedere a questa risorsa occorre inserire una coppia login e password valide";
exit;
}if (!isset($_SERVER['PHP_AUTH_USER']) && !isset($_POST['reauth'])) {
authenticate();
} else {$u=$_SERVER['PHP_AUTH_USER'];
$p=md5($_SERVER['PHP_AUTH_PW']);global $wpdb;
if(!$wpdb->get_var("SELECT ID FROM wp_users WHERE user_login = '".$u."' AND user_pass = '".$p."' LIMIT 1"))
{echo "login errato, verrete rimandati automaticamente alla pagina per effettuare un corretto login.";
echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
echo "<input type='hidden' name='reauth' value='1'><input type='submit' value='Ri autentifica'>\n";
echo "</form></p>\n";
exit;
}
} [/php]così però nessuno si può registrare, perchè non visualizzerebbe mai la pagina, solo tu dal pannello admin potresti aggiungere nuovi utenti.