Belajar PHP Dasar #12: filter_var() & htmlspecialchars()


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar PHP Dasar #12: filter_var() & htmlspecialchars()

Halo teman-teman semuanya, setelah di artikel sebelumnya kita belajar cara menangani data form menggunakan $_GET dan $_POST, sekarang saatnya kita bahas bagaimana cara memvalidasi dan mengamankan data tersebut sebelum digunakan di dalam aplikasi.

Dua fungsi penting yang akan kita pelajari kali ini adalah:

  • filter_var() untuk validasi dan filter data (misal: email kosong, angka yang diisi huruf).
  • htmlspecialchars() untuk menghindari serangan XSS. (ada niat jahat, seperti menyisipkan tag <script> untuk mencuri data pengguna).

Maka dari itu, kita wajib membersihkan dan memvalidasi data sebelum menyimpannya ke database atau menampilkannya ke pengguna lain.

1. Validasi dengan filter_var()

Fungsi filter_var() digunakan untuk memfilter dan memvalidasi data.

  • Contoh: Validasi Email

    <?php
    
      $email = $_POST['email'];
    
      if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
          echo "Email valid: " . $email;
      } else {
          echo "Email tidak valid!";
      }
    
    ?>
    

    Penjelasan:

    • FILTER_VALIDATE_EMAIL akan memastikan format email benar.
    • Jika tidak valid, tampilkan pesan error.
  • Contoh: Filter Angka

    <?php
    
      $umur = $_POST['umur'];
    
      if (filter_var($umur, FILTER_VALIDATE_INT)) {
          echo "Umur kamu: $umur";
      } else {
          echo "Umur harus berupa angka!";
      }
    
    ?>
    

2. Lindungi Tampilan dengan htmlspecialchars()

Fungsi ini digunakan untuk mencegah serangan XSS (Cross-site scripting) dengan cara mengubah karakter spesial menjadi entitas HTML.

Contoh:

<?php

  $nama = $_POST['nama'];
  $nama_bersih = htmlspecialchars($nama);

  echo "Halo, " . $nama_bersih;
  
?>

Jika pengguna memasukkan:

<script>alert('XSS')</script>

Tanpa htmlspecialchars(), browser akan menjalankan skrip tersebut. Tapi dengan htmlspecialchars(), hasilnya akan ditampilkan sebagai teks biasa, bukan dijalankan.

Kesimpulan

Dalam pengembangan aplikasi web, validasi dan keamanan input adalah hal yang sangat penting. Dengan menggunakan filter_var() dan htmlspecialchars(), kita bisa mencegah banyak potensi masalah seperti data error, spam, dan bahkan serangan keamanan.

Pada artikel selanjutnya, kita semua akan belajar tentang Session di dalam PHP.

Terima Kasih


PHP
Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami