我想對存儲在mysql數據庫中的驗證密鑰進行網頁檢查。在數據庫中我有1000個序列號存儲。檢查以驗證序列號
當序列號得到驗證後,我想讓它返回到頁面,而不再問我一個序列號。
這是我到目前爲止有:
<?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";
}
?>
這被保存爲名爲「凱基-validate.php」我的服務器上的文件。這個文件將連接到我的數據庫並查看序列號以確保它沒問題。
我遇到問題的部分是告訴我的頁面通過keygen-validation.php文件運行序列號的部分。
<!DOCTYPE html>
<html lang="en">
<head>
<?php
// what do I need to put here to have this page run this serial number
784a97bf1955d5f7a2b9dd6c1e371e17b73c42bc
through the keygen-validation.php file?
?>
</head>
<body>
</body>
</html>
我還應該補充一點,這是爲了簡單。我不需要昂貴的選擇。我相信人們可以輕易地做出迴避我努力的事情,但這與其他任何事情一樣,都是一個學習項目。
感謝
而且,它已經指出,我需要更新到PDO ...所以,是的,我正在上:)
[您的腳本存在SQL注入攻擊風險。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
如果可以的話,你應該[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 [這些擴展](http://php.net/manual/en/migration70.removed-exts-sapis。PHP)已在PHP 7中刪除。瞭解[編寫](http://en.wikipedia.org/wiki/Prepared_statement)對於[PDO]的聲明(http://php.net/manual/en/pdo.prepared -statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php),並考慮使用PDO,[這真的不難](http:// jayblanchard。淨/ demystifying_php_pdo.html)。 –
'key ='%20or%201%3D1'這個在你的URL中會激活所有的鍵 – SparK