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.