Как предотвратить атаку BIN на систему оплаты на базе Laravel v11 Livewire?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как предотвратить атаку BIN на систему оплаты на базе Laravel v11 Livewire?

Сообщение Anonymous »

В настоящее время я сталкиваюсь с атакой BIN на странице оформления заказа моего веб-приложения, созданного с использованием Laravel и Livewire. Мошеннические пользователи (или боты) пытаются провести тестирование карты, используя серию недействительных или украденных номеров кредитных карт с одинаковыми BIN (банковскими идентификационными номерами). Эти повторяющиеся попытки влияют на мой платежный шлюз и создают проблемы с законными транзакциями.
Я хочу реализовать решение, которое предотвратит эти атаки, добавив дополнительные уровни безопасности в процесс оформления заказа.
Вот что я сделал на данный момент:
  • Я использую Laravel Livewire для обработки отправки форм при оформлении заказа процесс.
  • Платежи обрабатываются с использованием стороннего платежного шлюза (Stripe).
  • У меня есть базовая проверка входных данных формы, но, похоже, это не предотвращает атаку BIN.


    Мне нужны рекомендации по эффективному предотвращению этих атак.
    В частности, я хочу:
  • Обнаружение и блокировка ботов или злоумышленников, выполняющих быстрые многочисленные транзакции с недействительными данными карты.
  • Ограничьте запросы или добавьте CAPTCHA, где это необходимо.
  • Внедрить более эффективные стратегии защиты, такие как регистрация подозрительных действий или блокировка повторяющихся неудачных транзакций с одного и того же IP-адреса.
это то, что я использовал в функции livewire. :
public function initializePayment()
{
$application = Application::findOrFail($this->applicationId);

$stripe = new StripeClient(env('STRIPE_SECRET'));

// Define line items for the Stripe session
$lineItem = [
[
'price_data' => [
'currency' => 'usd',
'product_data' => [
'name' => 'Test Name', // Set the product name
'description' => "Description", // Set the product description
'images' => [asset('assets/images/1.jpeg')], // Add image URL
],
'unit_amount' => 49 * 100, // Amount in cents
],
'quantity' => 1,
],
];

// Create a Stripe checkout session
$stripeSession = $stripe->checkout->sessions->create([
'payment_method_types' => ['card'],
'line_items' => $lineItem,
'mode' => 'payment',
'metadata' => [
'application_id' => $application->id,
'application_number' => $application->application_number,
],
'customer_email' => $this->email, // Optional: Prefill customer's email in the
payment form
'payment_intent_data' => [
'description' => "Payment for Application #{$application-
>application_number}",
'metadata' => [
'application_id' => $application->id,
'application_number' => $application->application_number,
'email' => $this->email,
'phone' => $this->phone_number,
'first_name' => $this->first_name,
'last_name' => $this->last_name,
],
],
'success_url' => route('stripe.success', [], true) . '?session_id=
{CHECKOUT_SESSION_ID}',
'cancel_url' => route('stripe.cancel', [], true) . '?session_id=
{CHECKOUT_SESSION_ID}',
]);

// redirect to stripe gateway
return redirect()->away($stripeSession->url);
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... out-system
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»