- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
My Rails应用程序需要为用户生成电子优惠券。给定的每个优惠券都应具有唯一的优惠券代码,可以在我们的系统上兑换。
例如,免费墨西哥卷饼的优惠券。 User A
收到免费卷饼的优惠券,然后User B
收到免费卷饼的优惠券。 2张优惠券应具有唯一的优惠券代码。
生成像这样不容易伪造的代码的最佳方法是什么?我不希望用户输入随机数字和兑换其他人的优惠券的成功率很高。
我想我想找的是像礼品卡,背面有一个唯一的编号。
最佳答案
该代码必须不可猜测,因为在给用户奖励之前,您可以执行的唯一验证就是检查他们输入的代码是否在“已发布”代码列表中。
rand()
快速且统计上适用于随机数据,但是可以通过这种方式进行破解,因此请不要使用它)。 securerandom
库,您可以使用它来获得如下原始代码:
require 'securerandom'
SecureRandom.hex
# => "78c231af76a14ef9952406add6da5d42"
1
,I
和l
之间的区别。我们通常会从上下文中了解它应该是什么,但是随机字符串不具有此上下文。必须通过测试0
与O
,5
与S
等来尝试几种代码变体,这将是糟糕的用户体验。0
和O
表示同一意思。最好通过处理输入文本来做到这一点,以便在正确的情况下使用带分隔符的字符等。K
,U
,F
,C
字符,那么冒犯用户的可能性就很大。通常不需要担心,因为用户看不到大多数计算机安全密码,但是这些密码会打印出来! # Random, unguessable number as a base20 string
# .reverse ensures we don't use first character (which may not take all values)
raw_string = SecureRandom.random_number( 2**80 ).to_s( 20 ).reverse
# e.g. "3ecg4f2f3d2ei0236gi"
# Convert Ruby base 20 to better characters for user experience
long_code = raw_string.tr( '0123456789abcdefghij', '234679QWERTYUPADFGHX' )
# e.g. "6AUF7D4D6P4AH246QFH"
# Format the code for printing
short_code = long_code[0..3] + '-' + long_code[4..7] + '-' + long_code[8..11]
# e.g. "6AUF-7D4D-6P4A"
20**12
有效代码,这意味着您可以发布十亿个自己的代码,而用户仅猜测正确的代码就有四百万分之一的可能性。在密码学界,这是非常糟糕的(此代码对于快速的本地攻击是不安全的),但是对于向注册用户提供免费卷饼的网络表单,您会发现有人尝试使用脚本进行四百万次,这没关系。
关于ruby-on-rails - 生成独特的,难以猜测的 “coupon”代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22333237/
我已经通过 Laravel 创建了一个简单的电子商务,并且对 COUPON 数据库设计有一些疑问,我需要的内容如下: 1-我需要一张普通的结账优惠券(当用户添加他需要的所有产品然后放入优惠券时,这将从
我正在使用sequelize v5。我在 Coupon 和 ItemType 之间存在多对多关系尽管CouponItemType。 coupon.getItemTypes() 给出类型错误 TypeE
我需要显示优惠券列表并根据创建日期和过期状态对其进行排序。 我的优惠券表的列 id name price expired_at created_at status 我的 laravel 查询 $cou
我遇到的情况是,我们打印出一系列“折扣卡”,卡上印有唯一代码,用户可以在网上商店兑换折扣。 我们制作了如此多的卡片,但实际使用的卡片却很少,因此我想使用某种形式的方法来使用一种方法来识别有效代码,而不
我将侧边栏购物车用作产品页面上的 SlideIn 购物车。从这个购物车,客户直接进入单页结帐。现在我希望客户能够在该页面上输入优惠券代码。 在 Productdetail 页面的 Sidebarcar
我正在尝试翻译“Have a coupon?”使用此代码在 Woocommerce 结帐页面中输入文本: function custom_strings_translation( $translate
My Rails应用程序需要为用户生成电子优惠券。给定的每个优惠券都应具有唯一的优惠券代码,可以在我们的系统上兑换。 例如,免费墨西哥卷饼的优惠券。 User A收到免费卷饼的优惠券,然后User B
我访问过The official WooCommerce Rest API documentation "Create an Order" section .我正在尝试通过 API 创建订单,但是当我
我们正在开发使用 Payola 处理付款的 SaaS 产品,我们想添加推荐促销。向推荐人添加优惠券非常简单(带有优惠券代码的表单上的隐藏字段),但似乎没有任何明显的方法可以将优惠券应用于现有订阅。 我
我在 Opencart 平台上工作,我想从快速结帐页面中删除一些文本。 结帐页面上的文字: Do you Have a Coupon or Voucher? 你知道我可以在哪里编辑文本吗?请推荐我 最
生成唯一代码以用作优惠券代码的最佳方法是什么? 谢谢。 最佳答案 在 Ruby 的标准库中有 SecureRandom 用于此: SecureRandom.hex(3) 输出的长度是输入指定长度的两倍
在通读 woocommerce_add_$NOTICE_TYPE Hook 后,我不确定我是否正确执行了此操作。我想要做的是将 Coupon code applied successfully 消息更
我正在用 php 制作我自己的电子商务网站。我想向我过去的客户提供优惠券代码,而不是向可能像野火一样蔓延的每个人发送通用的“10%OFF”。我希望每个代码都是唯一的,但映射到已知的折扣值。 是否有我可
在 Woocommerce 中,有没有办法在像这样应用优惠券后触发 JS? 我想像这样使用它: $( document.body ).on( 'updated_cart_totals', fu
我正在使用以下问题的答案 https://stackoverflow.com/a/52852428/609630 SELECT pc.post_title AS coupon_name,
我有一个订阅,如果我用 coupon 更新它优惠券将如何应用?客户已经支付了金额,现在我将通过从我的管理仪表板进行编辑来申请 100% 的折扣券。 这是如何处理的? 谢谢 最佳答案 我就是这样做的。
首先,我什至不知道从哪里开始。我试过通读 Apple 和 Google 的文档,但仍然没有正确的答案。 我的客户已经在他们的网站上展示了优惠券,他们的客户可以打印或在手机上截图,带进商店扫描要应用的折
我是一名优秀的程序员,十分优秀!