跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如果不需要用户登录认证,服务器如何辨别每一个用户?
未分類
9 11 月 2020

如果不需要用户登录认证,服务器如何辨别每一个用户?

如果不需要用户登录认证,服务器如何辨别每一个用户?

資深大佬 : jimisun 6

现在有这样一个需求,给店面提供一个抽奖功能的 H5 单页面,用户打开这个页面就是一个类似转盘抽奖的活动。 这个单页面很简单,进来就是抽奖,这个单页面也仅仅是一个单页面和 Java 程序服务器互通。

问题来了,由于用户不需要登录,用户点进来就开始抽,抽不中退出去再进来再抽,直到抽中为止。

想了几种方案都不足以保证安全,分别如下。

  1. H5 页面的 session 中生成唯一 ID ( PS:用户可以清缓存)
  2. 用户在打开页面的时候将设备和 IP 信息发送到服务器风险控制接口评分(但是 IP 实际上总是变动)
  3. 原本有页面生成的唯一 ID 由服务器根据 IP 和设备信息生成唯一 ID (还是上面的 IP 变动问题)
  4. 抽奖前先上用户输入手机号(没法发验证码,而且发验证码增加了用户的等待时间),会导致用户不停的输入新手机号码抽奖,直到抽中为止,然后告诉我们店家手机号输错了(我们这个活动没那么严格)。

对于这种简单的场景,应该怎么来实现这个功能呢? 还是我的大方向错误了,这个流程有更正确的方式呢?

大佬有話說 (18)

  • 資深大佬 : cmdOptionKana

    可以凭消费的小票(或电子单号)参加抽奖,反正一次消费只能当作一个身份,想多要一个身份就要多消费,不怕被刷。

    如果想让不消费的顾客也能参与,可以在领奖时要求确认电话号码,每个电话号码只有一次领奖机会,后续就算中奖也不能领奖,这也能避免被刷。结合别的防刷技术,有能力破解的人本来就少,就算现场有这样的人,他也只能为少量几个手机号码作假,影响不大。

  • 資深大佬 : hotsun168

    无后端验证的方式永远不可能 100%避免用户伪造提交。所以比较安全的方式应该是验证码或微信登录。
    以成本方式考虑,如果送出去的礼品价值超过发短信和构造微信后台的成本,那么最好还是做后端验证。

  • 資深大佬 : cmdOptionKana

    还可以限定一台设备,专人守着让顾客排队上来抽奖,一般人也不好意思 /没时间多次排队。

  • 資深大佬 : BBrother

    以前做的时候选的方案 1,因为一般用户不会清缓存,会清缓存的用户也知道自己在做什么,再说活动没那么严格

  • 資深大佬 : murmur

    浏览器指纹 配合 IP 一些做风控 只能这样了 手机号这个不想 极验想必你也不会上是吧?

  • 主 資深大佬 : jimisun

    @cmdOptionKana 活动并不是在店里面的,而是主要发送给微信好友的 H5 网页,不用消费,现在我能想到的就是提供手机号再结合一定的防刷技术配置,但是这样影响了用户体验,用户在别人转发的朋友圈点开后就想简单抽个奖,现在用还要在抽奖前提供一下手机号,这样一定程度上影响了用户的积极性。所以想征求下大家有没有我忽略的更好的 IDEA

    @hotsun168 现在是后端生成的抽奖页面,就是一个 H5 网页,没有对接微信登录,短信验证码都在很大程度上影响了想要的效果。用户打开就是想简单抽个奖,抽不中就算了,抽中了就要到我们店面来领东西消费。促进消费的一种活动。

  • 資深大佬 : linauror

    对接一下微信获取 openid,这个过程是无感知的,仅仅获取 openid 不需要用户手动同意

  • 主 資深大佬 : jimisun

    @BBrother 该限制还是要限制的,最低送一桶油什么的,部分刷客一直会清缓存清到中为止。

    @murmur 极验产品很不错,预想这尽量避免手机号验证这一样 很小的门店做一些线上活动 而且活动的奖品什么的都是杯子啊,油 成本不高

  • 主 資深大佬 : jimisun

    @linauror 是的这个考虑过,但是还有一部分市场是不仅仅在微信,我们的门店可能将这个抽奖页面投放到各大论坛什么的。

  • 主 資深大佬 : jimisun

    @linauror 好像想要获取 openid 需要中间有公众号的交互才能获取吧 我这个可能就是一个 H5 的网页 发在朋友圈 或者微信消息之中

  • 資深大佬 : 9151

    不能读取网卡地址吗?

  • 資深大佬 : ArthurSS

    https://github.com/fingerprintjs/fingerprintjs

  • 主 資深大佬 : jimisun

    @ArthurSS 非常感谢提供思路,刚才搜索了一下,非常棒,但是我 demo 会经常变动在同样设备的不同时间上,请问有稳定的 fingerprintjs 示例吗?

  • 資深大佬 : ArthurSS

    @jimisun 付费版不知道是不是会好一点,我也是才知道竟然出了付费版

  • 資深大佬 : keepeye

    微信网页授权不行吗

  • 資深大佬 : fmumu

    微信网页授权,无感知的

  • 主 資深大佬 : jimisun

    @keepeye
    @fmumu 微信网页是不是需要中间跳转公众号之类的才能获取的到呢?
    @ArthurSS 是啊 刚才看了一下需要付费 从网上 demo 了一下 很随机

  • 資深大佬 : keepeye

    @jimisun 静默授权就能拿到 openid 用户无感知

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具