<?php
// security.php

/**
 * Cek apakah koneksi menggunakan HTTPS.
 * Jika tidak, hentikan eksekusi dan kirim respon error.
 */


//PAKE SSL
function ensure_https() {
    if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === "off") {
        http_response_code(403);
        echo json_encode(['error' => 'HTTPS Required']);
        exit;
    }
}

/**
 * Sanitasi data input untuk mencegah serangan XSS dan SQL Injection.
 *
 * @param mixed $data
 * @return mixed
 */
function sanitize_input($data) {
    if (is_array($data)) {
        return array_map('sanitize_input', $data);
    } else {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
        return $data;
    }
}



// //GAPEKE SSL

// /**
//  * Fungsi ini awalnya bertugas untuk memastikan koneksi menggunakan HTTPS.
//  * Namun, karena kita masih mengembangkan di localhost tanpa HTTPS,
//  * fungsi ini sekarang tidak melakukan apa-apa.
//  * 
//  * Saat Anda memindahkan aplikasi ke server produksi dengan HTTPS,
//  * Anda harus mengaktifkan kembali penegakan HTTPS.
//  */
// function ensure_https() {
//     // Tidak melakukan apa-apa karena pengembangan di localhost tanpa HTTPS
//     // Jika di produksi dengan HTTPS, aktifkan kembali pengecekan di sini
// }

// /**
//  * Sanitasi data input untuk mencegah serangan XSS dan SQL Injection.
//  *
//  * @param mixed $data
//  * @return mixed
//  */
// function sanitize_input($data) {
//     if (is_array($data)) {
//         return array_map('sanitize_input', $data);
//     } else {
//         $data = trim($data);
//         $data = stripslashes($data);
//         $data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
//         return $data;
//     }
// }

?>
