Ett stycke php-kod:
<?php
// Funktionen som hanterar login connectionen
class mclogin {
public $minecraftUsername = '', $sessionID = '';
public function login($username, $password, $version=13){
$minecraftSocket = fopen(" http://login.minecraft.net/?user=$username&password;=$password&version;=$version", "rb");
$minecraftOutput = '';
while (!feof($minecraftSocket)) {
$minecraftOutput .= fgets($minecraftSocket, 128);
}
fclose($minecraftSocket);
if(strpos($minecraftOutput, 'Bad login') === false){
$minecraftValues = explode(':', $minecraftOutput);
if(count($minecraftValues) > 0){
$this->minecraftUsername = $minecraftValues[2];
$this->sessionID = $minecraftValues[3];
return true;
} else {
return false;
}
} else {
return false;
}
}
}
session_start();
$minecraftlogin = new mclogin();
// Array för att ha tillåtna spelnamn
$members = array('McNamn1',
'McNamn2',
'McMamn3');
// Om du klickar på knappen
$username = in_array($_SESSION['username'],$members);
if (isset($_POST['username'],$_POST['password']) && in_array($_POST['username'],$members)) {
$user = htmlentities($_POST['username']);
$pass = htmlentities($_POST['password']);
// kallar på funktionen ovan
if ($minecraftlogin->login($user,$pass)) {
$_SESSION['username'] = $user;
$_SESSION['password'] = $pass;
echo 'Logged in!';
session_destroy(); // Finns ingen logout knapp så denna gör så att du sessionen
//förstörs när du har loggat in
} else {
Die("Wrong credentials!");
}
} else {
if (isset($_POST['username']) && !in_array($_POST['username'],$members))
Die("Username is not an active account!");
?>
<form acti echo $_SERVER['PHP_SELF'] ?>" method="post">
<label for="username">Username: </label>
<input type="text" name="username" /><br />
<label for="password">Password: </label>
<input type="password" name="password" /><br />
<input type="submit" name="login" value="Log In" />
</form>
<?php
}
?>
Vill ni ha en mer advancerad tutorial hur denna är byggd så finns det på engelska gjord av mig här: http://www.hackforums.net/showthread.php?tid=3680678