2016-07-19 3 views
0

私が持っているコードは、URLからプレイヤーの名前とスコアを取ることによって、単純なハイスコアテーブルを作成します。例:上記の例でhttp://www.example.com/hs/test2.php?n=Jimmy&s=15000どのようにURLの中に含まれるハイスコア情報を隠すことができますか?

、プレイヤー名はジミーと彼のスコアは15000

データベースはMySQLのあるだったです。

私は、プレイヤーがURLでこの情報を見ることができるようにしたくありません。どうやってそれを隠したり、保護したりできますか?私が使用しているPHPコードは以下の通りです:

/*test1.php*/ 

<? 
echo "<h5>High Scores</h5>"; 
$con = mysql_connect("fdb3.runhosting.com","databse","password"); 
if (!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("database", $con); 
$result = mysql_query("SELECT * FROM highscores ORDER BY Score DESC LIMIT 10"); 
while($row = mysql_fetch_array($result)) 
{ 
echo $row['Name'] . " | " . $row['Score']; 
echo "<h5> </h5>"; 
} 

mysql_close($con); 
?> 

/*test2.php*/ 
<?php 

$nam = $_GET["n"]; 
$sco = $_GET["s"]; 

$con = mysql_connect("fdb3.runhosting.com","database","password"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("database", $con); 
$result = mysql_query("INSERT INTO highscores (Name, Score) 
VALUES ('" . $nam . "', '" . $sco . "') "); 

mysql_close($con); 
header('Location: http://yoursubdomain/1st_textdocument.php') ; 
?> 

私は、POSTコマンドを使用する方法があるかもしれないと思うが、私はそれを動作させることができていません。誰もこのコードを改善して、PHPのURLによって過去の情報が表示されないようにする方法を知っていますか?何か助けてくれてありがとう! :)

+1

$_POSTを使用する必要がありますURL。 'GET'ではなく' POST'に切り替えても、探している人は情報を引き続き見ることができます。代わりにあまり明らかになっていないIDを使用するか(データベースから得点を得る)、または暗号化してください。また、廃止されたので、mysql拡張機能の使用をやめてください。 –

答えて

0

利用POSTの代わりGETは、あなたがして、それを入れていない、あなたはURLでそれをしたくない場合は、あなたのHTMLフォームで方法を変更し、代わりに$_GET

+0

技術的には、質問に答える...しかし:https://addons.mozilla.org/en-GB/firefox/addon/tamper-data/ – CD001

+0

とにかくそれは、あなたもアドオンを必要としない送信し、件のデータを変更することが可能です実際、彼は真のゲーム – Vuldo

+0

の終了後に与えられた1-使用トークンで彼のページを守るべきであるということです - しかし、そのFFのプラグインは、ちょうど私自身のフォームを破るしようとしたときに、私が使用しているものであることを起こります。 POSTデータを簡単に改ざんすることがどれほど簡単かをイラストとして使用しています。 – CD001

関連する問題