V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
shebaoting
V2EX  ›  程序员

手机投票有没有好的防否认机制?

  •  
  •   shebaoting · 21 小时 26 分钟前 · 2178 次点击
    小程序内开发一个投票功能,但是怎么样才能做到防止用户否认?比如这个票本来就是他投的,但是他不承认,且咬定是平台用他的名字伪造的数据。。有没有一个好的防否认机制?而且不用太复杂。如果太复杂用户就不投票了。
    39 条回复    2024-12-22 11:20:12 +08:00
    maix27
        1
    maix27  
       21 小时 16 分钟前 via iPhone
    没办法。线下能控制,或者对投票人有实际意义的,线上一般也不会乱投票。线下都没有的说明对投票人本来也没什么意义,说难听点,如果是这个情况,你们这个投票有没有决策力都难说。
    maix27
        2
    maix27  
       21 小时 13 分钟前 via iPhone
    最简单的防否认机制就是投票前搞个手机验证码。
    LanhuaMa
        3
    LanhuaMa  
       21 小时 10 分钟前
    除非用户手持身份证唱票拍视频上传,不然你怎么搞都没用,就是数据库 update 一行的事情。
    Donaldo
        4
    Donaldo  
       21 小时 6 分钟前
    小程序 sdk 有提供签名机制吗,有的话就可以。
    Gilfoyle26
        5
    Gilfoyle26  
       21 小时 6 分钟前   ❤️ 1
    很简单,把这种人踢出去。要筛选用户,而不是培养用户。
    mistsobscure
        6
    mistsobscure  
       21 小时 2 分钟前
    点击提交前生成一个带水印的完整的投票记录呗,要不然就用链的方式?
    mistsobscure
        7
    mistsobscure  
       21 小时 1 分钟前
    话说,啥内容的投票,还有防止用户否认的功能 0.0
    momocraft
        8
    momocraft  
       21 小时 0 分钟前
    要求投完用戶轉發或發朋友圈 成功才算投票
    shebaoting
        9
    shebaoting  
    OP
       20 小时 54 分钟前
    我想过一个办法,用户投票的时候,发短信给某个号码,短信内容是投票内容。
    mohumohu
        10
    mohumohu  
       20 小时 47 分钟前   ❤️ 8
    给每个投票选项设置一分钱的消费选项,消费内容备注投票项,投票后自动退回
    shebaoting
        11
    shebaoting  
    OP
       20 小时 39 分钟前
    @mohumohu 这个办法好
    Geon97
        12
    Geon97  
       20 小时 37 分钟前
    简单粗暴的办法,log 机制呗,给用户加个可以查看自己投票记录的功能。如果还是咬定是平台用他的名字伪造的数据,这种人无解,用什么方法他们都会说:是平台伪造他的数据
    spritecn
        13
    spritecn  
       20 小时 37 分钟前
    @Donaldo 跳腾讯电子签,回调成功才算投票成功,这个原则上是有法律效力的,但签一次几块钱的费用谁来承担!
    spritecn
        14
    spritecn  
       20 小时 35 分钟前
    自制手写签名没有法律效力,他咬定的时候,你这个证据是无效的
    lasuar
        15
    lasuar  
       20 小时 34 分钟前
    你在尝试寻找一个叫做“签名”的东西。
    Donaldo
        16
    Donaldo  
       20 小时 21 分钟前   ❤️ 2
    @spritecn #12 不是这个,是非对称密钥签名的签名。载入小程序的时候在本地生成一对和微信账号绑定且唯一的公私钥,每次投票用用户的私钥去签名投票结果,然后把公钥和签名公开。任何人都可以用他的公钥去验证这个签名是不是来自于这个用户。
    xixiv5
        17
    xixiv5  
       19 小时 58 分钟前   ❤️ 1
    不要在技术层面上解决,用户不懂,人脸视频阅读“本人自愿同意 XXXXX”
    NoOneNoBody
        18
    NoOneNoBody  
       19 小时 51 分钟前   ❤️ 1
    编程这叫“鉴权”
    市场调查这叫“甄别”,保证数据真实性,线下面对面调查不需要很详细,因为就是本人回答,线上一般要身份鉴定,回访抽查确保真实,但大部分人是拒绝的。所以线下调查至今还有很大价值,就是因为回答相对地真实

    在公众平台例如小程序投票,做这个步骤是不适合的,除非只是“模糊”、“及格”方式的认定,就是身份和结果非紧密相关那种(统计类结果),主要原因是公众平台存在非私密性,可能“共用”或“分享”

    应该在权限更高的场合使用身份鉴权(独立 app ),或提权鉴定,如银行、社保、税局小程序查账这些就加了提权的步骤
    lisxour
        19
    lisxour  
       19 小时 37 分钟前
    @spritecn #13 我感觉电子签不会开放这种 api 的
    Lynntox
        20
    Lynntox  
       19 小时 26 分钟前
    @lisxour 貌似有第三方做这种不知道靠谱没 我原来办一个代理的时候就跳出了一个合同的签字页面
    Loku
        21
    Loku  
       18 小时 31 分钟前
    wx.startSoterAuthentication
    Bantes
        22
    Bantes  
       17 小时 44 分钟前
    学学银行和保险公司,做个用户操作录屏完事儿
    realpg
        23
    realpg  
       17 小时 5 分钟前
    做个商城,投给谁需要微信支付 1 块钱买谁的名字商品,计票结束后退款退还。
    yufeng0681
        24
    yufeng0681  
       15 小时 21 分钟前
    @mohumohu #10 消费用户的信息能看哪个级别? 用户在小程序里投过票,在能客户端看到投票记录的。 这都不认。 他把消费记录删掉,你也没招啊。 服务器看到的他也不会认
    ShadowPower
        25
    ShadowPower  
       14 小时 50 分钟前
    区块链技术天生就是用来解决这个问题的
    mohumohu
        26
    mohumohu  
       12 小时 49 分钟前
    @yufeng0681
    1 、你提出的是有没有投的问题:微信账单没有删除选项。
    2 、而我理解的否认,一般是否认投给了谁的问题的,而这个能解决你给哪个投了的问题,也就是你拿不出对应选项的账单。
    mohumohu
        27
    mohumohu  
       12 小时 44 分钟前
    @yufeng0681 我的意思是,没有彻底删除的选项,即使你删除了,也可以申请交易流水。
    walterdarrell063
        28
    walterdarrell063  
       12 小时 21 分钟前
    public key, private key.
    leconio
        29
    leconio  
       9 小时 48 分钟前 via iPhone
    用户协议弹窗就行,有法律效力的。
    muapyw
        30
    muapyw  
       7 小时 52 分钟前
    电子签名?人脸?
    jim9606
        31
    jim9606  
       5 小时 47 分钟前
    如果不信任平台,那平台做啥都没用,实际做法就是不信任平台的用户踢出去。
    就像现在说电子签合同的效力,平台搞什么区块链数字证书人脸识别我觉得都没啥意义,司法案例才能说服我。
    不要尝试用技术解决非技术问题。
    smlcgx
        32
    smlcgx  
       4 小时 28 分钟前 via iPhone
    实名制投票吧?技术的办法最多也只是绑定到设备,人家一句我儿子乱按的你就没办法了
    YaakovZiv
        33
    YaakovZiv  
       2 小时 5 分钟前
    如果投票者大多使用微信,就用微信小城市申请是实名验证或者手机号验证。如果投票者大多不用微信,我能想到的就是手机号验证或者支付宝上的电子签名验证。
    showonder
        34
    showonder  
       1 小时 43 分钟前
    用小程序授权的 session key 呗,用户总不可能否认微信号不是本人操作吧,微信本身就有设备指纹、密码、验证码、人脸识别等验证手段确保微信本人或本人授权的用户登录。
    iv8d
        35
    iv8d  
       1 小时 24 分钟前 via Android
    区块链
    moult
        36
    moult  
       1 小时 24 分钟前
    短信他也会否认说没收到,短信平台虽然可以查送达状态,但是没法出具盖章的证明。
    就只有“生成支付订单”是最优秀的方案,一分钱的订单,付完不用退,有异议的才发起退款。甚至还能校验支付账号的实名是否匹配。用户耍赖的话,支付机构还能出具法律认可的证明。
    moult
        37
    moult  
       1 小时 18 分钟前
    像区块链这种,用户明明选择 B 并上链,用户却说自己选 C 的。但因为上链都在我们系统内实现,没有用户二次确认。
    本来就是防赖皮的,必须引入公平公正、法律认可的第三方介入才行。
    SenLief
        38
    SenLief  
       42 分钟前
    投票前调用摄像头拍一张照片
    leonshaw
        39
    leonshaw  
       41 分钟前 via Android
    不引入第三方的话也就录音录像靠谱了。另外即使用订单支付也要能证明订单内容或者备注是用户自己填的,不然也可能说是阴阳单。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2537 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:01 · PVG 12:01 · LAX 20:01 · JFK 23:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.