私が持っているコードは、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によって過去の情報が表示されないようにする方法を知っていますか?何か助けてくれてありがとう! :)
の
$_POST
を使用する必要がありますURL。 'GET'ではなく' POST'に切り替えても、探している人は情報を引き続き見ることができます。代わりにあまり明らかになっていないIDを使用するか(データベースから得点を得る)、または暗号化してください。また、廃止されたので、mysql拡張機能の使用をやめてください。 –