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";
$ctime= time();
$secret= "passwordSegretaTraTeESitoB";
$md5= md5($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.