自动登录以迁移Minecraft帐户

时间:2013-09-02 14:24:48

标签: php html minecraft account migrate

我目前正在尝试为我的网站编写程序,但我正在尝试自动登录到mojang,以便他们可以更快地迁移,并确保他们的MC帐户是安全的。但是,当我尝试自动登录Mojang进行迁移时,它会给出错误:身份验证失败。

我知道其他人尝试了这个并且成功但是这个是用JAVA编写的,我想用HTML制作它。

<form action="https://account.mojang.com/migrate/check" method=POST target=_blank>
<input type="text" name="mcusername">  
<input type="text" name="password">
<?php
echo '<input type="hidden" name="authenticityToken" value='.$token.'>';
?> 
<input type=submit value="Migrate Account">
</form>

我尝试使用我从mojang.com/migrate使用此代码抓取的令牌:

$file = file_get_contents('https://account.mojang.com/migrate');
function get_string_between($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}
$fullstring = $file;
  $fullstring = str_replace("/migrate/check", "https://account.mojang.com/migrate/check", $fullstring);
$token = get_string_between($fullstring, '<input type="hidden" name="authenticityToken" value="', '">');

但是,当我按下时会返回错误:迁移帐户。我想我需要用cookies或Auth令牌做些什么。如果你们有任何想法..请告诉我

1 个答案:

答案 0 :(得分:1)

您使用脚本检索的令牌是为您的服务器生成的,而不是为用户提交html表单生成的。您必须使用Javascript获取令牌。

BUT

MLHttpRequest cannot load https://account.mojang.com/migrate. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdomain.com' is therefore not allowed access. 

所以我不认为你能用html / php验证客户端。