私のウェブサイトで多くのアカウントを作成している詐欺師を検出するための解決策を見つけています。
永続的なクロスブラウザーCookieを見つけました:http ://samy.pl/evercookie/ しかし、それはJSで書かれており、Railsコントローラーで使用するものが必要です。evercookieのような宝石やプラグインはありますか?
私のウェブサイトで多くのアカウントを作成している詐欺師を検出するための解決策を見つけています。
永続的なクロスブラウザーCookieを見つけました:http ://samy.pl/evercookie/ しかし、それはJSで書かれており、Railsコントローラーで使用するものが必要です。evercookieのような宝石やプラグインはありますか?
新しいユーザーにメールを送信できますか?
多くのWebサイトで使用されている簡単な解決策は、セキュリティトークンを含む電子メールをユーザーに送信することです。これに適したRailsの宝石はDeviseであり、もう1つは独自のカスタム認証を簡単に作成できるSorceryです。
サードパーティのサービスでユーザーを認証できますか?
OmniAuth gemは、多くのサードパーティサービスに接続し、ユーザーがGoogle、Yahoo、Facebook、Twitter、LinkedIn、およびLDAPやShibbolethなどのオープンサービスの既存のアカウントを使用して認証できるようにします。
OpenId gemは、Google、Yahoo、および他の多くの大規模プロバイダーとうまく連携します。OmniAuth内でOpenIdを使用することもできます。
これらすべての場合において、送信を追跡するので、ユーザーは同じ電話番号、住所、クレジットカードなどを使用してすぐに再度申請することはできません。
ユーザーにテキストメッセージを送信できますか?
Twilio gemを使用すると、電話番号にテキストメッセージを送信できます。コンセプトは、アプリが確認コードを含むテキストメッセージを送信することです。
postalmethods gemを使用すると、実際の物理的なはがきを郵便で送ることができます。確認コードが入ったハガキを送ることができます。これには数日かかる場合があるため、一部のサイトでは、これを「試用期間」と組み合わせて使用します。この期間は、問題が発生しないようにサンドボックス化されている新規ユーザー向けです。(たとえば、情報を読むことはできますが、情報を投稿することはできません)。
関連するアイデアは、BrainTreeやActiveMerchantなどの支払いゲートウェイを使用するなど、クレジットカードが必要なものをユーザーに送信させることです。
カードにお金を請求することなく、カードが開いていて有効であることを確認できます。または、PayPal、Googleペイメント、Amazon Dev Payなどを介してユーザーに1ドルを送金するように要求するなど、ごくわずかな支払いを要求することもできます。
クレジットカード番号は内部構造(チェックサムなど)を持っているため、番号が正しい形式とチェックサムであることを確認できます。簡単なスクリプトはflame.orgです
ボットをブロックするには、Rubyrecaptchaなどのキャプチャが非常にうまく機能します。
Rubyには他のキャプチャソリューションがあり、これらのいずれも問題ない可能性があります。
これは宝石ではありませんが、概念です。新規ユーザーに、読み取り専用アクセスなどの制限付き特権を付与します。一定期間メンバーになるか、コンテンツを投稿するか、サイト内の友人や仲間とつながるなどして、ユーザーが新しい特権を獲得できるようにします。
これはStackOverflowのようなサイトがどのように機能するかであり、これらのアプローチに関する多くの良い情報がhttp://hypothes.isにあります。
最も強力なアプローチは、これらの手法の組み合わせです。
おそらく、新しいユーザーに情報の読み取りなどの基本的な機能を提供し、上記の1つ以上の認証を実行して新しい機能を獲得できるようにします。これは、GoogleとFacebookがいくつかの機能を追加する方法です。簡単にサインアップし、他の電子メールを認証し、電話番号を認証し、住所を認証することができます。
Rails用のEvercookieソリューションを検索していたのですが、gem'evercookie'を見つけて作成しませんでした。あなたはそれを試すことができます。ドキュメントはgithubで入手できます
いいえ、Railドロップインソリューションはなく、あまり意味がありません。
evercookieはJavaScriptで記述されており、ローカル共有オブジェクトにはSWF(Flash)オブジェクトを使用し、キャッシュされたPNGとETagのサーバー側生成にはPHPを使用します。
ほとんどすべてのEvercookieテクニックは、ブラウザーへの特別なJavascript APIに依存しているため、サーバー側のテクノロジーに移植する方法はありません(小さなPHP部分を除く)。
gemを使用すると、統合と更新が簡単になる場合がありますが、それでもクライアント側ではJavascriptになります。
Evercookieの倫理的意味を考慮してください。私の意見では、これは概念実証であり、広く使用されるツールではありません。
独自のソリューションを展開したい場合は、(Cookieを使用した)適切な開始点は次のとおりです。
def create
if cookies[:xyz]
render :text => 'cheater!'
else
# save the user first (you may need to display the form again), and then set the cookie
cookies[:xyz] = { :value => "1", :expires => 1.day.from_now }
end
end
編集:これはevercookieに匹敵するものではなく、単なる代替手段です。
編集2:キャプチャはおそらく作成者が使用する必要があるものであるとすでに述べたので、彼がまだCookieを使用したい場合の開始点を示すことに反対票を投じていますか?