3

私は現在、自分の Web サイト用のプログラムをコーディングしようとしていますが、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="', '">');

ただし、[アカウントを移行] を押すとエラーが返されます。Cookie や Auth トークンを使って何かをする必要があると思います。アイデアがあれば..教えてください

4

1 に答える 1

1

スクリプトで取得するトークンは、HTML フォームを送信するユーザー用ではなく、サーバー用に生成されます。Javascript でトークンを取得する必要があります。

しかし

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 でクライアントを認証できるとは思いません。

于 2014-04-24T14:34:25.120 に答える