php - 创建个性化下载链接

标签 php html security

如果我将商品存储在数据库中,用户可以在购买后下载这些商品,我如何为每个用户提供不同的链接?

我在想,正确的做法是:给他们一个链接,例如根据他们的用户 ID 以某种方式散列。然后,当我处理我给他们的链接时,我只是反转散列函数获取原始链接。这是正确的做事方式吗?

如果这不是正确的方法,有人可以指出正确的方向吗?

最佳答案

哈希函数并不意味着被逆转。我建议阅读 lighttpd mod_secdownload实现

它为您提供一个 protected 链接,在一定时间内有效。由于散列无法反转,因此您需要在链接中传递信息的散列以及明文信息(如果可能)。例如:

http://somesite.com/download.php?hash=<md5($secretkey.$userId.$documentId)>&usrId=<$userId>&documentId=<$documentId>

当您收到下载请求时,处理 has,将其与给定的进行比较,如果相等则认为它已通过验证。

关于php - 创建个性化下载链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9854662/

相关文章:

php - Laravel 和 Blade 的 undefined variable

php - less < 运算符无法识别我是否设置了类似字符串 PHP

php - 如何使 php session 永不过期(在conf文件中,没有代码)

security - Gmail 和 Facebook 配置文件特定的 HTTPS : Vulnerable?

javascript - 我们可以防止广告软件插件干扰我们的网站吗?

php - Laravel 分页器显示更多页面

javascript - 根据跨度文本值增加字体大小

javascript - 创建用户脚本以在两个按钮之间单击时更改网站的样式表

jquery - DIV 内容不能正常滑动

mysql - MySQL 的 WebSecurity.CreateAccount 失败