2018-12-30この記事は約6分で読めます。遅くなりましたが、まとめてシェアしようと思います。今回はやりたいこととマッチしなかった、それだけの話しでありセキュリティとしても十分高いです。ClientはElementsを使用してます。現段階での話なので、今後のStripeに期待です。”支払い”は防げる支払いについては、StripeRadarで防げます。Radarについては次の単元で詳しく話します、これで防げるのは支払いが発生する場合に限ります。やりたいこと確かにStripeを使うことで、Stripe経由の支払いは防げます。それにElementsを使えば、署名欄もありますし入力された名前もStripe側で持てます。今回のCVCアタックで問題になったのは、CVCを総当たりでクレジットカード情報が取得できてしまうことだったので、Elementsで複数回CVC入力をされたカードについてはCustomerやそれに紐づくCardを作成することまで防ぎたい。StripeRadarRadarでも不正はいろいろ防げるRadarで十分不正支払いはブロックできます。こちらルール追加の画面ですが、パット見何書いてあるかわからないかもです。一度【+ルールの追加】ボタンを押してみてください。こんな画面が出るのですが、:を押すと指定できるルールが日本語でちゃんと出てきます。failsというルールで弾かれてます。ほかにも:blocks_per_card_number_daily:を使えばCardが24時間以内に支払いブロックされた回数を絞る事ができます。10(24時間以内に同じcardで10回以上支払いブロックされた場合は支払いブロック)同じような方法で:charge_attempts_per_customer_daily:を使えば同じCustomerが24時間以内に支払いで使える回数も絞れます。:declines_per_customer_daily:を使うと、Customerの拒否された回数も拾ったりできます。永久ブロックただ、ルールについては24時間以内に〜とか1時間以内に〜とか支払いが発生したときに弾くため支払い時にルールに当てはまらないと通ります。怪しいので前もって弾きたい場合があります。それがリストになります。listに対象CardObjectのfingerprintを登録すればOKです。fingerprintただ、こちらは手動登録なのでRadarのブロック対象になったからリストに自動追加という機能は今の所はないとのことでした。Teamsという追加機能になるため有料です。料金は”支払い”が発生するたびに2円、これは支払いの成功・失敗にかかわらずです。テスト環境は触りたい放題なので、遊ぶことは可能です。Stripeでの不正支払を本格的に弾く場合はRadarの追加機能を検討したほうがよいのかなと思います。弾いてくれるんじゃない?Chargeを弾くRadar相当便利なので、セキュリティ的にも十分対応出来ると思います。最初に書いたとおり、支払いが発生する場合についてはRadarでかなり防げます。object作成段階で支払い失敗としてカウントされます。こちらは公式サポートから頂いた回答です。object作成時の試行回数を一時間以内に10回まで制限する場合は、以下のルールをご追加ください。10こちらはCVCチェックに失敗した回数ではなく、試行回数の総数に回数制限がかかることをご留意ください。objectが作成される際にご利用のクレジットカードをブロックします。決済を短時間内に頻繁に試行して失敗した人(customer)をブロックされたい場合は、同じIPアドレスからの確定時間内の試行回数に制限をご設定ください。Support1時間以内に同じカードでCharge試行したのが10回以上あったら、ブロック対象として上げますよって感じです。同じように同一IPでのアクセスでも弾けますよって感じです。・・・カード情報登録と支払いが別トランザクションだった場合どうでしょうか?カード登録のみは弾けないこちらサポートから頂いたRadar仕様の回答スクリーニングはChargeがベースでございます為、Token作成やCustomer登録の際にはRadarは動いておりません。Supportそうなんです、Radarは支払いが発生してるときのみ動作してるんです。ElementsからCVCが間違ってるクレジットカード情報tokenをStripeに飛ばして、CustomerとCardを作成するだけの場合はこうなります。Exceptionが返ってきちゃうんですね。Stripe側には402エラーとしてのログが残りますが、CustomerもCardも作られません。「支払が発生しない場合、CVC回数上限を設けてCard作成の試行は防げない」ということになっちゃいます。カード登録は作り込みとは言っても、Exceptionは返してくれてるのでアプリ側で制御はできそうです。アカウントとException回数紐づけて、アカウントブロックくらいはできそうです。カードをブロックしたいですが、Elementsを使ってる段階でカード関連情報をアプリ側で持つことはできないですね。今回はクレジットカード情報の登録と、支払い(Charge)が別の場合に起こり得ることなので、サブスクリプションとか他の支払方法ではどうなるかわからないです💦もっと他にやり方があって、こうすればいいよーってのがあったら教えてください❗あとはFront側で呼び出すJSが怪しい挙動は拾ってくれるような感じらしいので、一応どのページにもあるといいと聞きました。src="https://js.stripe.com/v3/"></script>理想はCard作成がExceptionなのは全然OKなんですが、同一カード番号からの作成試行を制御出来るようになったら嬉しいなって思います。技術ネタAngularでStripeのテストでハマったことこんばんわ、hisayukiです。ここ最近フロントまわりの作業が多く、これを期に負債の返済をしようと思いました。Componentだけで60ページくらいまで増えちゃってるんですけど、未記入のテストコードを書くことにしました・...Blog2018年度の振り返りこんにちわ、hisayukiです。今日が3/31と年度最終日(会社としては違うけど)なので、今年度を振り返ってみようと思います。PayでStarbucksカードを連携してみたこんばんわ、hisayukiです。PayもStarbucksカードも両方使ってるのでやってみました。コメントをキャンセルメールアドレスが公開されることはありません。