unico login per più siti

enricocarli

Utente Attivo
26 Set 2014
46
0
6
Buongiorno,

volevo un'informazione: vorrei fare un unica pagina di login per più siti che risiedono in server diversi;
mi sembra si chiami sso questo sistema, qualcuno ha idea di come si possa fare una cosa del genere?

Di fatto si crea un pannello d'inserimento di amministratori, con user e password,
se le credenziali sono corrette c'è un cookie per la sessione,
ma come si fa a fare in modo che entri anche negli altri siti che non risiedono nello stesso server?

Si potrebbe memorizzare l'IP dell'amministratore una volta che le credenziali sono corrette ma poi?

Pensavo ma forse non è corretto, fare una pagina in php, che mostra gli IP degli amministratori una volta loggati,
poi con lo scrapping dagli altri siti fare un cookie che apra la sessione di login solo se hai l'IP corretto.

è sbagliato vero? Qualcuno ha idee migliori?

grazie in anticipo
buon week end
 

enricocarli

Utente Attivo
26 Set 2014
46
0
6
Capito, per cui se ho capito bene secondo te dovrei fare un db comune con tutti i siti, poi magari attraverso feed alimentare gli altri siti; ho capito bene? Ma questa soluzione vale anche per db di grosse dimensioni?

Grazie per la risposta
Buonanotte
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
attualmente ho un dominio col suo db, mia figlia ha un blog (altro dominio) in wordpress e si appoggia al mio db, in questo caso con tabelle diverse, ma essendo il db lo stesso niente vieta che ci possano essere tabelle in comune o, se serve, usare le stesse.
l'unica cosa che non so dirti è il fatto se i domini sono su server diversi.
eventualmente provo a chiedere ad altri mod se ne sanno qualcosa.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
io sincermaente ci ho provato anche avendo due siti sullo stesso hosting. devi comunque chiedere al tuo hosting se te lo permette. per quel che ne so nella maggior parte dei casi per sicurezza non te lo permettono. A me tempo addietro non me lo permisero. io ora ad esempio uso un escomatage ma non si tratta di un login quindi non sapre dirti se questo potrebbe funzionare.
per escamotage altro nonf accio su un server di rilasciare un file php con i dati di una tabella in formato json e poi da un altro sito mi elggo quel file.
sicuramente si può fare anche con un login ma non sono certo che sia una via sicura, anzi credo proprio di no.
 

enricocarli

Utente Attivo
26 Set 2014
46
0
6
Grazie mille, per le risposte!
La mia era più che altro una curiosità;
Volevo sapere se era possibile fare una cosa del genere, e a me interessava fare proprio un sistema con siti che risiedono su server diversi. Non si deve lavorare sull'ip dell'utente che si logga secondo voi? È l'unico sistema che mi viene in mente...

Grazie mille e buona domenica
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
l'unico metodo che mi viene in mente è questo, ma da provare
fai sul sito (chiamamolo principale.it) un pag di log.php e la log_remoto.php
PHP:
<?php
session_start();
if(isset($_POST['log'])){
    //connessione al db di principale.it
    //verifiche user e pass e loro esistenza
    if(mysqli_num_rows($ris)==1){
        $_SESSION['user']=$riga['user'];
        $_SESSION['pass']=$riga['pass'];
        $riinvio_a=$_SESSION['nome_sito']."pinco_pallo.php";
        header("location url=$riinvio_a");
        exit();
    }else{
        //user e pass inesistenti
        $riinvio_a=$riinvio_a=$_SESSION['nome_sito']."index.php";
        header("location url=$riinvio_a");
        exit();
    }
}
?>
<!-- form inserimento user e pass -->
nella pagina di secondario.it (come sul principale) chiamata log_remoto.php usando un iframe, considerando pero che devi farle uguali per tutti i siti
PHP:
<?php
session_start();
$_SESSION['nome_sito']="http://www.secondario.it/";
/*
al posto di pinco_pallo.php la pagina a cui vuoi rinviare
nella pagina di log_remoto.php del di principale metterai http://www.principale.it/"
*/
?>
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<!-- ......-->
        <iframe name="log"
               src="http://www.principale.it/log.php"
               width="732px"
               height="500px"
               scrolling="auto"
               frameborder="0"
               align="top"
               marginwidth="0"
               marginheight="0"
               allowtransparency="true">
      </iframe>
<!-- ......-->    
</body>
</html>
è evidente che tutti i siti dovranno avere le due pagine uguali, l'unica differenza sarà che nella pagina log_remoto.php
in principale.it $_SESSION['nome_sito']="http://www.principale.it/";
in secondario_1.it $_SESSION['nome_sito']="http://www.secondario_1.it/";
in secondario_2.com $_SESSION['nome_sito']="http://www.secondario_2.com/";
ecc....
comunque come detto tutto da provare
 

enricocarli

Utente Attivo
26 Set 2014
46
0
6
grazie borgoitalia,

proverò se funziona, intanto ti posto il codice di quello che ho pensato io:

sito primario:

PHP:
<?php
    /* UTENTE 1  */
    $user_1 = "mario";
    $password_1 = "1234";

    $site1_1 = "http://localhost/TEST/sito1.com/";
    $site2_1 = "http://localhost/TEST/sito2.com/";
    $site3_1 = "http://localhost/TEST/sito3.com/";

    echo sha1($user_1);
    echo "<br />";
    echo sha1($password_1);
    echo "<br />";
    echo sha1($site1_1);
    echo "<br />";
    echo sha1($site2_1);
    echo "<br />";
    echo sha1($site3_1);
    echo "<hr>";

    /* UTENTE 2  */
    $user_2 = "luigi";
    $password_2 = "0000";

    $site1_2 = "http://localhost/TEST/sito3.com/";
    $site2_2 = "http://localhost/TEST/sito5.com/";

    echo sha1($user_2);
    echo "<br />";
    echo sha1($password_2);
    echo "<br />";
    echo sha1($site1_2);
    echo "<br />";
    echo sha1($site2_2);
    echo "<hr>";

    /* UTENTE 3  */
    $user_3 = "toad";
    $password_3 = "9999";

    $site1_3 = "http://localhost/TEST/sito1.com/";
    $site2_3 = "http://localhost/TEST/sito3.com/";
    $site3_3 = "http://localhost/TEST/sito2.com/";
    $site4_3 = "http://localhost/TEST/sito7.com/";

    echo sha1($user_3);
    echo "<br />";
    echo sha1($password_3);
    echo "<br />";
    echo sha1($site1_3);
    echo "<br />";
    echo sha1($site2_3);
    echo "<br />";
    echo sha1($site3_3);
    echo "<br />";
    echo sha1($site4_3);
?>

sito secondario:

PHP:
<?php
    $url = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    $uri = 'http://localhost/TEST/mysso';
    $get = file_get_contents($uri);
   
    $users = explode("<hr>", $get);

    foreach ($users as $user) {
        $users_ok = explode("<br />", $user);

        $n_elementi = count($users_ok);
        for ($i=0; $i < $n_elementi; $i++) { 
            if($i!=0 AND $i!=1){
                if (sha1($url)==$users_ok[$i]){
                    echo $users_ok[$i]."<br>";
                }
            }
        }
        echo "<hr>";
    }
?>

di fatto espongo tutti gli utenti con i siti a cui possono accedere nel sito primario,
usando sha1 così non mostro nulla, uso quel file per inserire nel db degli altri siti le coppie di user e password, magari usando un cron per tenerlo aggiornato.

Secondo te è corretto/sicuro?

ho scritto il codice in fretta ma dovrebbe capirsi in linea di massima,
poi inserirò form, sessioni e quello che manca.

fammi sapere
ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
D FTP e Account ddns - unico account da remoto e locale? Reti LAN e Wireless 0
andreas88 [HTML] come inserire 3 riquadri in un unico rigo (vedere img allegata) HTML e CSS 11
E [PHP] Sso unico accesso per più siti PHP 8
A [PHP] Somma in unico risultato di più tabelle PHP 6
Marco_88 Racchiudere variabili definite in un'unico array PHP 1
Monital Creare più array da un array unico PHP 3
V Trovare numero unico minore PHP 1
B Risultato unico da due tabelle MySQL 0
G Più jquery in unico file Javascript 2
F unico submit per più select PHP 2
S MICROSITE MANAGER **** Il meglio del SEO in un unico strumento!!! Altri Annunci 0
F Due plguin jquery in un unico progetto jQuery 1
A Unico server Hosting 3
P Problemi nell'update aggiorna un unico utente anche se entro come pallo e non pinco PHP 6
R [VENDO] AUMENTO FACEBOOK LIKE o VISUAL YOUTUBE - L'unico sisitema Italiano fino a 100.000 ! Annunci servizi di Social Media Marketing 2
Web Designer Scarica il Modello e istruzioni Unico Pf/2012 Leggi, Normative e Fisco 0
B Diverse query mysql unico file PHP 4
A invio mail in unico script PHP 5
U Scrivere in n campi uguali ciò che scrivo in un campo unico Javascript 3
B Due tabelle con un unico form PHP 16
I desktop unico per tutti i client Windows e Software 1
I desktop unico Discussioni Varie 1
C 2 Siti web in un unico database. Posso farlo? Database 2
A pulsante unico on off Flash 2
J UNICO sito con il quale guadagno veramente Guadagnare col Sito 0
M Codice unico per tutti i campi Javascript 2
M Magnifico!! Sito Unico!! Guadagni Reali!! Guadagnare col Sito 2
E update unico per tanti campi Classic ASP 6
C L'unico linguaggio che fa tutto!!! Programmazione 1
jan267 Non sono l`unico sfigato ad avere fastweb! Discussioni Varie 2
peppoweb Carta Identità elettronica: Governo e produttori per standard unico Discussioni Varie 0
N Vba Maschera di login MS Access 1
Shyson Codice wp-login non funziona PHP 2
L Problemi con il login PHP 2
L login e session PHP 4
A Problema login con Safari PHP 14
R Reinderizzamento dopo login PHP 2
C finestra popup dopo login PHP 2
L login con solo un codice PHP 3
Web93 PROBLEMA SITO WEB WORDPRESS - LOGIN DASHBOARD Programmazione 3
M Login Autenticazione Sviluppo app per Android 0
M Effettuare Login con dati Json Sviluppo app per Android 0
S [PHP] Stampa a video Nome e Cognome in seguito a login PHP 1
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
L [PHP] login con password_verify PHP 3
A HTML issues with creating a register and login page + general questions HTML e CSS 1

Discussioni simili