javascript - 如何确保页面已被查看 X 秒?
问题描述
在我的项目中,用户可以查看特定页面以获得一点奖励。当他们在可以选择奖金的网站上时,页面的 iframe 会显示倒计时。倒计时结束后,他们可以点击“获取奖励按钮”。一旦他们这样做了,一个 ajax 调用就会发送到 claim_rewards.php。
但是,有一些问题: 有一点经验的用户可以调用 claim_rewards.php 而无需查看 iframe 页面 X 秒。他选择奖励,浏览其他网站,一旦时间结束,调用 claim_rewards.php。已经确定该请求仅在 X 秒后有效。但是,用户仍然可以同时做其他事情。
当用户真正观看 iframe X 秒时,确保用户仅获得奖励的最佳方法是什么?
谢谢 :)
解决方案
1)为每个访客制作一个唯一的令牌
2) 在服务器端启动计时器并将启动时间戳与令牌一起保存
3)在客户端启动定时器,使按钮出现。
4) 当用户发送请求领取红利时,发回token并检查服务器定时器和请求时间的差值。
推荐阅读
- asp.net-core - 微服务 web api 应用程序 - 领域驱动设计:有大量重复数据正常吗?
- php - 统计mysql结果mysqli_fetch_assoc()错误
- java - 哪种解决方案最适合 Android 音乐管理器应用?
- javascript - AlpineJS 和 Vanilla DataTables 的问题
- php - Laravel - 提交博客文章而不显示在数据库中?
- javascript - 无法实现 Vue.Js 将数据绑定到 html 表中
- python - python - 如何在python中读取垂直向y轴绘制的散点图?
- neo4j - 如何解决 Neo4j 中的变量未定义错误
- swiftui - SwiftUI 嵌套过渡和动画
- javascript - “使用 Apple 登录”的问题 - 当我在 Web 应用程序上使用“使用 Apple 登录”按钮时,Apple 徽标未显示