我通过我的网站销售我的Windows应用程序。我使用Paypal和LibertyReserve作为我的支付处理器。我创建了结帐按钮以自动完成购买过程。购买完成后,买家将被重定向到感谢页面。
我在结帐完成后发出了一个序列号和一个下载链接。我目前正在使用PHP,但它不安全。
我有一个包含大约100个连续剧的文本文件。每次用户访问感谢页面时,PHP脚本都会检查cookie是否未设置(以避免重复访问)。如果未设置cookie,它将打开包含序列号的文本文件,读取第一个序列并将其存储在cookie中。序列从文本文件中删除。之后,使用"标题"重定向用户。到显示cookie内容的最后一页,并说"这是你的序列密钥:[包含序列的cookie值在这里]"。
现在,拥有大脑的每个人都可以使用串行密钥读取整个文本文件。我怎样才能保证这一点/使其更好?
任何建议都会派上用场。谢谢!
答案 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。