在市场应用程序中防止欺诈的最佳方法?

Bri*_*ong 9 ruby-on-rails fraud-prevention marketplace aggregation

我正在开发一个市场网站,导师和学生可以互相找到.我正在建立一个在线支付系统(很像elance或guru.com),导师可以获得报酬,我们会减少.

情侣问题:

  1. 从尼日利亚等特定国家/地区阻止IP地址的最佳方法是什么?(注意,我正在使用Ruby on Rails,因此任何特定于此的建议都会更好,但如果不是那么好.)

  2. 除了阻止某些IP之外,我还可以使用哪些其他技术?(我已经在进行AVS和普通网关检查).

  3. 我需要检查哪些常见的骗局?

例如,我能想到的是有人使用该系统自行付款,他们收到资金作为付款(减去​​我们的费用),然后在信用卡上进行退款.

我想这些类似于Paypal或Google Checkout等网站(有些称之为聚合网站)所面临的问题,因为它们只收取一小部分费用 - 因此,如果原始资金来源丢失,则会造成巨大损失(很多时候是利润涉及不同于普通的高利润产品).

结合其他笔记:

  1. 我的用户帐户已经需要电子邮件验证 - 这是最低限度,我正在寻找超出此范围的内容
  2. 直接存款有3-5天的等待期 - 这是银行要求的 - 但仍然没有回答如何在3-5天内确定是否是欺诈的问题,因此可以取消
  3. 我宁愿避免一个惩罚好人和坏人的解决方案 - 例如收取注册费或让他们将资金留在那里直到请求提款(如Paypal)

Bri*_*ong 3

这是我到目前为止所做的,如果人们有更多建议,请回复:

  1. 设置“欺诈审查”标志,如果设置,则需要某人(我)在发送直接存款资金之前手动查看它
  2. 如果发送的金额 > 300 美元,则自动进行欺诈审核
  3. 如果导师和学生请求的ip地址相同,则欺诈审核
  4. 检查他们的姓名和地址,看看他们是否“基本匹配”——即他们的名字可能都是“约翰”,因此存在一个阈值,即有多少“匹配”构成标记欺诈审查的理由

该函数看起来有点像这样(注意这不包括检查 IP 地址的代码)

  def fraud_review invoice
    return true if invoice.total > 300

    #try to find out if they are the same person!
    client = invoice.client
    tutor = invoice.tutor

    count = 0
    client.full_name.split.each do |piece|
      count += 1 if tutor.full_name.include? piece
    end
    client.name_on_card.split.each do |piece|
      count += 1 if tutor.full_name.include? piece
    end
    client.street.split.each do |piece|
      count += 1 if tutor.street.include? piece
    end

    return true if count > 2
    false
  end
Run Code Online (Sandbox Code Playgroud)