私の XNA ゲームはWebRequest
、ユーザーのデータベースをチェックし、パスワードが正しいかどうかをチェックする PHP ページを使用して Web サイトに接続する必要があります。
「成功」や「失敗」などのメッセージを返すログイン スクリプトが既にありますが、明らかにこれは一時的なものであり、セキュリティ上の理由から改善する必要があります。簡単に偽造される可能性があります。
C# ログイン リクエスト
//Create the POST data
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "username=" + user + "&pass=" + pass;
byte[] data = encoding.GetBytes(postData);
//Make a request
WebRequest request = WebRequest.Create("http://example.com/login.php");
request.Method = "POST"; //We are posting the info
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
//Open a stream, write into, then send it
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
//Get response
WebResponse response = request.GetResponse();
stream = response.GetResponseStream();
//Make a new stream, We will read from this
StreamReader sr = new StreamReader(stream);
string responseString = sr.ReadToEnd();
//TODO: If the responseString says the client if authenticated, procede, if not, display error to user (Invalid password, etc)
そして、PHP スクリプトはユーザーを見つけて、送信されたパスワードを比較するだけです (これらはすべて Joomla サイト データベースと統合されているため、ユーザーはサイトとゲームのアカウントを持っています)。
さて、私の PHP スクリプトはどのようにして信頼性の高い認証方法を送り返し、ある種のトークン/ID を提供することができるでしょうか。たとえば、後でハイスコアを送信したい場合、このユーザーからのものであることがわかります。捏造じゃない?