如何安全地分发串行密钥?

时间:2013-03-03 13:58:29

标签: php javascript html mysql

我通过我的网站销售我的Windows应用程序。我使用Paypal和LibertyReserve作为我的支付处理器。我创建了结帐按钮以自动完成购买过程。购买完成后,买家将被重定向到感谢页面。

我在结帐完成后发出了一个序列号和一个下载链接。我目前正在使用PHP,但它不安全。

我有一个包含大约100个连续剧的文本文件。每次用户访问感谢页面时,PHP脚本都会检查cookie是否未设置(以避免重复访问)。如果未设置cookie,它将打开包含序列号的文本文件,读取第一个序列并将其存储在cookie中。序列从文本文件中删除。之后,使用"标题"重定向用户。到显示cookie内容的最后一页,并说"这是你的序列密钥:[包含序列的cookie值在这里]"。

现在,拥有大脑的每个人都可以使用串行密钥读取整个文本文件。我怎样才能保证这一点/使其更好?

任何建议都会派上用场。谢谢!

2 个答案:

答案 0 :(得分:0)

将每个串口代码存储在MySQL数据库中,表格可以是这样的:

id, serial, purchased, date, hashcode

当用户通过paypal成功付款回来时,您会将其重定向到serial.php?hashcode = {hashcode}脚本,该脚本通过哈希码检索序列号并将其打印给用户。脚本还会设置已购买的串行行,如果您不想让用户第二次看到此页面,则可以执行此操作。

答案 1 :(得分:-1)

你有一张包含所有序列号的表。

+--------+-----------+
| id     | serial    |
+--------+-----------+
| 1      | 123-45    |
+--------+-----------+
| 2      | 456-43    |
+--------+-----------+

当执行某个事务,并且您拥有该事务的唯一标识符时,您将拥有另一个表,该表包含哪个序列ID属于该唯一标识符。

+--------+-----------+-----------+
| id     | trans     |  serialId |
+--------+-----------+-----------+
| 1      | 654326    |  1        |
+--------+-----------+-----------+
| 2      | 876430    |  2        |
+--------+-----------+-----------+

serialId / trans列是唯一的,因此没有两个事务可以具有相同的序列ID。