bg
logo

Dokumentasi API

API ini dirancang untuk menangani pemeriksaan keamanan pada input pengguna untuk mendeteksi dan mencegah ancaman keamanan seperti injeksi SQL, injeksi URL, dan serangan XSS (Cross-Site Scripting). Aplikasi ini juga menerapkan mekanisme pembatasan laju dan pemblokiran IP untuk mengurangi serangan berulang.

URL API

https://inprotector.i-as.dev

Endpoint

POST https://inprotector.i-as.dev/security

Endpoint ini memproses input pengguna dan memeriksa untuk potensi ancaman keamanan. Endpoint ini juga menangani pembatasan laju dan pemblokiran IP.

Permintaan

  • Jenis Konten: application/json
  • Parameter Body input (string): Teks input yang akan diperiksa untuk ancaman keamanan

Respon

Sukses (HTTP 200):

json:
{
  "message": "Input aman!"
}

Potensi Masalah Keamanan

  • Deteksi Injeksi SQL (HTTP 302 Redirect): Mengarahkan ke https://inprotector.i-as.dev/detected .
  • Deteksi Upaya Bypass (HTTP 302 Redirect): Mengarahkan ke https://inprotector.i-as.dev/detected .
  • Deteksi Injeksi URL (HTTP 302 Redirect): Mengarahkan ke https://inprotector.i-as.dev/detected .
  • Deteksi XSS (HTTP 302 Redirect): Mengarahkan ke https://inprotector.i-as.dev/detected .

Input Tidak Ditemukan (HTTP 400)

{
    "message": "Input tidak ditemukan"
}
  • IP Terblokir (HTTP 302 Redirect): Mengarahkan ke https://inprotector.i-as.dev/blocked jika IP diblokir karena melebihi batas percobaan.

Contoh Permintaan

POST https://inprotector.i-as.dev/security
Content-Type: application/json

{
  "input": "SELECT * FROM users WHERE id=1"
}

Contoh Respons

{
  "message": "Input aman!"
}

GET https://inprotector.i-as.dev/detected

Endpoint ini menampilkan halaman yang menunjukkan bahwa potensi masalah keamanan telah terdeteksi pada input.

Respons

  • Halaman HTML: Halaman ini memberi tahu pengguna bahwa potensi masalah keamanan telah terdeteksi.

Contoh Respons

  • Sukses: Pengguna diarahkan ke halaman yang menunjukkan masalah keamanan.

GET https://inprotector.i-as.dev/blocked

Endpoint ini menampilkan halaman yang menunjukkan bahwa IP pengguna telah diblokir karena melebihi batas percobaan.

  • Halaman HTML: Halaman ini memberi tahu pengguna bahwa IP mereka telah diblokir.

Contoh Respons

  • Sukses: Pengguna diarahkan ke halaman yang menunjukkan bahwa IP mereka telah diblokir.

Fitur Keamanan

Pembatasan Laju

  • Batas Percobaan: Didefinisikan dalam konfigurasi (config.attemptLimit).
  • Durasi Blokir: Didefinisikan dalam konfigurasi (config.blockDuration).

Pemeriksaan Keamanan

  • Injeksi SQL: Memeriksa pola yang menunjukkan injeksi SQL.
  • Injeksi URL: Memeriksa pola yang menunjukkan injeksi URL.
  • Upaya Bypass: Memeriksa pola yang menunjukkan upaya bypass.
  • XSS: Membersihkan input menggunakan library xss dan mendeteksi apakah ada skrip berbahaya yang terdapat dalam input.

Pemblokiran IP

IP yang melebihi batas percobaan akan diblokir untuk durasi yang ditentukan dalam konfigurasi.

Dokumentasi ini memberikan gambaran yang jelas dan terperinci tentang bagaimana API berfungsi serta bagaimana penggunaannya dalam aplikasi.

©2024 I-As.Dev. All Rights Reserved.