Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    [PHP?] Loggarsi DA un sito AD un sito esterno senza passare per la pagina di login

    Salve a tutti,
    il mio problema è questo:

    Ho un sito in PHP, cliccando su di un link vorrei, per esempio, far vedere la home di facebook dell'utente avente username:test e password: test

    Cliccando su questo link del mio sito dovrei poter passare direttamente ad una pagina di un sito esterno trovandomi già loggato, le credenziali ovviamente sono in mio possesso e per il momento posso anche metterle via codice per fare un test, in futuro le prendero da DB.

    Avete suggerimenti per una povera anima persa?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    PHP ha un forum dedicato.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    facebook da la possibilità di sviluppare direttamente delle aplicazioni esterne, non so se si possa fare esattamente quello che dici tu, però puoi partire da qui per scoprirlo:


    Guida applicazioni facebook con php

  4. #4
    Io non mi salverei lo user e la pass degli utenti di un altro servizio.
    Se in qualche modo il tuo database è violato e un malintenzionato ruba queste info da te, potresti passare guai.

    Utilizza le API di facebook invece per interfacciarti con esso: è fatto apposta e in questo modo non hai dati "troppo" sensibili da gestire.

  5. #5
    Chiedo scusa non avevo notato la sezione apposita...
    e chiedo scusa anche del fatto di non aver specificato che quello di facebook era solo un esempio...

    in linea di massima, ho sito A (che è mio) e sito B (sito esterno)

    un utente di A clicca su un link di A e si trova reindirizzato e loggato in una pagina di B...


    è possibile in qualche modo che voi sappiate?

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da Starvation

    un utente di A clicca su un link di A e si trova reindirizzato e loggato in una pagina di B...

    è possibile in qualche modo che voi sappiate?
    è possibile, ma dipende tutto da come il sito B gestisce il suo login, non puoi fare una cosa che vada bene per tutti, per ogni sito a cui vuoi loggarti in automatico dovrai studiarti una procedura e per alcuni siti potrebbe anche non esserci proprio il modo di farlo.

  7. #7
    Originariamente inviato da las
    è possibile, ma dipende tutto da come il sito B gestisce il suo login, non puoi fare una cosa che vada bene per tutti, per ogni sito a cui vuoi loggarti in automatico dovrai studiarti una procedura e per alcuni siti potrebbe anche non esserci proprio il modo di farlo.
    Capisco...
    siccome è la prima volta che ho a che fare con un problema del genere ed ho la possibilità di mettermi d'accordo coi gestori del sito B, cosa consigliereste di fare? non ho davvero idea di quali possano essere i problemi che potrei incontrare

  8. #8
    In alternativa è possibile, che voi sappiate, compilare automaticamente i campi user e psw e ,sempre automaticamente, simulare il click sul tasto "Login" ? (ovviamente i dati 'user' e 'psw' li conosco a priori)

  9. #9
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da Starvation
    Capisco...
    siccome è la prima volta che ho a che fare con un problema del genere ed ho la possibilità di mettermi d'accordo coi gestori del sito B, cosa consigliereste di fare? non ho davvero idea di quali possano essere i problemi che potrei incontrare
    Se ti puoi mettere d'accordo con i gestori del sito B tutto è più facile, potreste ad esempio accordarvi in modo che tu le passi tramite GET un qualche codice, ovviamente che varia di volta in volta, e che indichi loro che quel dato utente ha effettuato il login.

  10. #10
    A TITOLO INFORMATIVO:

    Se il sito B ha una procedura di login semplice, basta farti dire qual è la pagina che elabora il login e passare ad essa lo user e la pass.

    Per esempio, B ha una pagina login.php che elabora i POST:

    Codice PHP:
    if($_POST['user']=="pippo" && $_POST['password']=="paperino") {
    //autenticato
    header("location:protected_page.php");

    non sta scritto da nessuna parte che questa pagina accetta POST solo dalla SUA pagina di login. Puoi quindi reindirizzare il tuo utente in questo modo:
    Sulla TUA pagina metti:

    Codice PHP:
    <form method="post" action="http://SITOB/login.php">
    <
    input type="hidden" name="user" value="pippo" />
    <
    input type="hidden" name="password" value="paperino" />
    <
    input type="submit" value="Vai al sito B" />
    </
    form
    In questo modo conoscendo login e pass puoi fare l'autenticazione...

    TUTTAVIA ti avverto che il fatto di avere user e pass di utenti per altri servizi non è una gran cosa. Vai incontro a problematiche di varia natura. Inoltre con questo metodo stampi la password in una pagina html visibile quindi con CTRL U. Pessimo, veramente pessimo.

    Piuttosto direi che, con un meccanismo simile, potresti metterti d'accordo col sito B e fare un'altra procedura di login basata su un MD5 dello user e la data di validazione. Giusto per rendere la cosa un pelo più sicura.

    Per esempio, chiedi al tuo sito B di aggiungere questa riga a login.php

    Codice PHP:
    // valido per 300 secondi
    if(!empty($_POST['user']) && $_POST['cryptmd5']== md5($_POST['user'].$_POST['time']."passwordSegretaTraTeESitoB") && time()-300<int($_POST['time'])) {
    //procedura di login 

    e tu fai piu' o meno lo stesso

    Codice PHP:
    <?php
    $user
    "pippo";
    $ctimetime();
    $secret"passwordSegretaTraTeESitoB";
    $md5md5($user.$ctime.$secret);
    ?>
    <form method="post" action="http://SITOB/login.php">
    <input type="hidden" name="user" value="<?php echo $user?>" />
    <input type="hidden" name="time" value="<?php echo $ctime?>" />
    <input type="hidden" name="cryptmd5" value="<?php echo $md5?>" />
    <input type="submit" value="Vai al sito B" />
    </form>
    scritto di getto, potrebbero esserci errori. Era giusto per farti capire alcune meccaniche.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.