我目前在我的网站上发布了一个 JS 游戏。我想要一个获取用户名并将其提交到服务器的 HTML 表单(仅保存在文本文件中)。目前,我可以使用 PHP,以便 website/game/scores.php?action=submit&name="Player's Name"&score="Player's Score"。我非常有信心这会奏效。但是,任何可以阅读我的 HTML 的人都可以将假分数传递给该函数。
我应该如何解决这个安全问题?
注意:我知道 SQL 可能更适合这种情况,但我对学习 mySQL 还没有兴趣!
提前致谢。
编辑:现在我有另一个问题。PHP 没有从表单中获取 POST 参数。代码如下:
JS:
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "http://michaelman.net/snake/scores.php");
var dataField = document.createElement("input");
dataField.setAttribute("type", "hidden");
dataField.setAttribute("name", name);
dataField.setAttribute("value", score);
form.appendChild(dataField);
document.body.appendChild(form);
form.submit();
PHP:
switch($_SERVER['REQUEST_METHOD']){
case 'GET': $the_request = &$_GET; echo "GTFO!";
case 'POST': $the_request = &$_POST; writeToFile($_POST['name'], $_POST['value']);
echo ("Saved: " . $_POST['name'] . " - " . $_POST['value']);
}
虽然服务器识别请求,但它无法获取任何参数。这是为什么?谢谢。
编辑2:对不起愚蠢的编辑。我通过创建两个单独的表单字段来解决这个问题,一个用于名称,另一个用于分数。在 PHP 代码中,我只检索“名称”和“分数”参数。