CSRF Protect API
CSRF Protect API adalah solusi API yang dirancang untuk melawan serangan CSRF dengan menyediakan token keamanan yang harus disertakan dalam permintaan POST.
Download DemoDOKUMENTASI API
URL Dasar
https://csrf.i-as.dev
Endpoint
1. Mendapatkan Token CSRF
- Endpoint:
/csrf-token
- Metode:
GET
- Deskripsi: Menghasilkan token CSRF baru.
- Respons:
{
"token": "<csrf-token>"
}
GET https://csrf.i-as.dev/csrf-token
curl -X GET https://csrf.i-as.dev/csrf-token
2. Mengirim Data dengan Token CSRF
- Endpoint:
/secure-data
- Metode:
POST
- Deskripsi: Menerima data secara aman dengan perlindungan CSRF.
- Header:
Content-Type: application/json
x-csrf-token: <csrf-token>
{
"key": "value"
}
{
"message": "Data received"
}
POST https://csrf.i-as.dev/secure-data
Content-Type: application/json
x-csrf-token: <csrf-token>
{
"key": "value"
}
curl -X POST https://csrf.i-as.dev/secure-data \
-H "Content-Type: application/json" \
-H "x-csrf-token: {csrf-token}" \
-d '{"key": "value"}'
3. Respons Error
- Token Kedaluwarsa:
{
"error": "Token expired"
}
{
"error": "Invalid token"
}
4. Contoh Penggunaan
fetch
di JavaScript
// Mendapatkan token CSRF
async function getCsrfToken() {
try {
const response = await fetch('https://csrf.i-as.dev/csrf-token');
const data = await response.json();
return data.token;
} catch (error) {
console.error('Error fetching CSRF token:', error);
}
}
// Mengirim data dengan token CSRF
async function sendData() {
const token = await getCsrfToken();
if (token) {
try {
const response = await fetch('https://csrf.i-as.dev/secure-data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-csrf-token': token
},
body: JSON.stringify({ key: 'value' })
});
const data = await response.json();
console.log('Response:', data);
} catch (error) {
console.error('Error sending data:', error);
}
}
}
sendData();
requests
di Pythonimport requests
# Mendapatkan token CSRF
def get_csrf_token():
response = requests.get('https://csrf.i-as.dev/csrf-token')
response.raise_for_status()
data = response.json()
return data['token']
# Mengirim data dengan token CSRF
def send_data():
token = get_csrf_token()
headers = {
'Content-Type': 'application/json',
'x-csrf-token': token
}
data = {'key': 'value'}
response = requests.post('https://csrf.i-as.dev/secure-data', json=data, headers=headers)
response.raise_for_status()
print('Response:', response.json())
send_data()
axios
di Node.jsconst axios = require('axios');
// Mendapatkan token CSRF
async function getCsrfToken() {
try {
const response = await axios.get('https://csrf.i-as.dev/csrf-token');
return response.data.token;
} catch (error) {
console.error('Error fetching CSRF token:', error);
}
}
// Mengirim data dengan token CSRF
async function sendData() {
const token = await getCsrfToken();
if (token) {
try {
const response = await axios.post('https://csrf.i-as.dev/secure-data',
{ key: 'value' },
{
headers: {
'Content-Type': 'application/json',
'x-csrf-token': token
}
}
);
console.log('Response:', response.data);
} catch (error) {
console.error('Error sending data:', error);
}
}
}
sendData();
©2024 I-As.Dev. All Rights Reserved.