我想要检查存储在mysql数据库中的验证密钥的网页。在数据库中,我存储了1000个序列号。
序列号验证后,我希望它能让我返回页面而不再向我询问序列号。
这是我到目前为止所做的:
game_id category_id game_name category_name favorite dislike
------- ----------- ---------------- ------------- --------- --------
840832 1000 'counter-strike' fps 1 NULL
779343 1000 'call of duty modern warfare' fps 1 NULL
684244 2000 'minecraft' adventure NULL NULL
983565 2000 'assassin\'s creed syndicate'adventure NULL NULL
858168 3000 'need for speed - rivals' racing NULL NULL
819837 4000 'mortal kombat x' fighting NULL NULL
634266 5000 'street fighter v' fighting NULL NULL
这在我的服务器上保存为名为“keygen-validate.php”的文件。此文件将连接到我的数据库并查看序列号以确保它没问题。
我遇到问题的部分是告诉我的页面通过keygen-validation.php文件运行序列号的部分。
<?php
require 'keygen-connect.php';
$key = addslashes(htmlentities($_GET['key']));
if ($key == "") {
die("No key found");
}
$query = "SELECT * FROM `keys` WHERE key='".$key."'";
$result = mysql_query($query) or die("Could not execute query");
if (mysql_num_rows($result) > 0) {
echo "Key valid";
// Setting the key activated
$query = "UPDATE `keys` SET activation='yes' WHERE `key`='".$key."'";
$result = mysql_query($query);
} else {
echo "Key invalid";
}
?>
我还应该补充一点,这意味着简单。我不需要昂贵的选择。我敢肯定,人们可以轻松地做些事情来规避我的努力,但这与其他任何事情都是一个学习项目。
由于
另外,有人指出我需要更新到pdo ...所以,是的,我正在努力:)
答案 0 :(得分:0)
在您的前端完全没有PHP。您只需要一个<form>
,其中包含一个键的输入,它将提交给您的PHP脚本以进行后端处理。
<form action="keygen-validate.php">
<input type="text" name="key">
...
提交的值将根据需要以$_GET['key']
的形式到达您的PHP文件中。
答案 1 :(得分:0)
由于您使用的是GET,因此您可以使用表单和GET操作提交数据。
所以,例如:
function listMeteorChannel() {
// fetch a user you want to act on behalf who authorized offline access
const user = Meteor.users.findOne({
'services.google.refreshToken': {
$exists: true,
},
});
if (!user) {
return;
}
const googleServiceConfig = Accounts.loginServiceConfiguration.findOne({
service: 'google',
});
// declare oauth2 client and set credentials
const oauth2Client = new GoogleApis.auth.OAuth2(googleServiceConfig.clientId, googleServiceConfig.secret);
// get user access token
const tokens = getAccessToken(user);
oauth2Client.setCredentials(tokens);
// obtain the youtube service at version 3 and perform authentication at service level
const youtube = GoogleApis.youtube({
version: 'v3',
auth: oauth2Client,
});
// declare a synchronous version of youtube.channels.list
const youtubeChannelsListSync = Meteor.wrapAsync(youtube.channels.list, youtube.channels);
// fetch an info snippet from the Meteor official YouTube channel
const result = youtubeChannelsListSync({
part: 'snippet',
// Meteor channel ID
id: 'UC3fBiJrFFMhKlsWM46AsAYw',
});
result.items.forEach((item) => {
// display the channel title, which should be 'Meteor'
console.log(item.snippet.title);
});
}
Meteor.startup(listMeteorChannel);
这样,GET可以检索你的'key'参数。
我在很长一段时间内没有对PHP做过任何事情,所以有人可以随意纠正/扩展它。
答案 2 :(得分:0)
如果你想检查你加载的每个页面中的串行密钥,并且串行密钥已经在URL中,你需要做的只是include
你的脚本,而不是回显结果为&#34;无效密钥&#34;您拨打exit()
或将header()
设置为正确的401错误。
实现目标的其他方法是将验证包装在function
$key
参数表中,而不是从$_GET
读取。
然后在您的页面上include
您的脚本并调用function
将$key
值传递给它。