7 Tips Keamanan PHP yang Harus Anda Coba!

By | May 20, 2022
bayar bpjs lewat atm bca,cara bayar bpjs kesehatan bri mobile,cara bayar bpjs bni mobile banking,cara bayar bpjs kesehatan bni,kode bayar bpjs kesehatan bca,cara bayar bpjs kesehatan mandiri,cara bayar bpjs kesehatan online,biaya admin bayar bpjs di alfamart

PHP merupakan salah satu bahasa pemrograman backend yang sangat populer di kalangan developer. Karena PHP merupakan bahasa pemrograman open source, memiliki struktur yang baik, dan mudah digunakan.

Namun ketika Anda memilih pemrograman PHP sebagai backend website Anda, Anda perlu memperhatikan keamanan dari program PHP yang Anda buat. Tujuannya agar website yang Anda buat tidak mudah diretas oleh hacker.

Biasanya hacker akan menargetkan data pribadi pengunjung, menjual produk ilegal di website tanpa sepengetahuan Anda, mencuri uang dari transaksi yang Anda lakukan, dan menampilkan iklan yang akan memperlambat website Anda.

Untungnya, ada beberapa solusi untuk meningkatkan keamanan program PHP Anda. Itulah yang akan kami bahas dalam panduan ini. Untuk memudahkan Anda, kami akan menjelaskan beberapa serangan pada PHP dan memberikan solusi untuk menghindari serangan PHP.

Daftar isi  tutup

1  3+ Contoh serangan PHP

1.1  1. Pembuatan Skrip Lintas Situs (XSS)

1.2  2. Pembajakan Sesi

1.3  3. Pemalsuan Permintaan Lintas Situs (CSRF)

1.4  4. Mencegah Serangan Injeksi SQL

2  7 Tips Keamanan PHP yang Harus Anda Ketahui

2.1  1. Gunakan htmlspecialchars

2.2  2. Simpan Sesi dengan IP

2.3  3.Gunakan Objek Data PHP (PDO)

2.4  4. Sembunyikan File dari Browser

2.5  5. Pengaturan Dokumen Root

2.6  6. Selalu gunakan SSL

2.7  7. Perbarui PHP secara berkala

3  Sekarang Apakah Anda Siap Melindungi Keamanan PHP?

3+ Contoh serangan PHP

Berikut ini adalah penjelasan dari empat contoh serangan terhadap PHP. Dari keempat contoh ini, kami berharap dapat membantu Anda memahami bagaimana serangan pada PHP terjadi.

  1. Pembuatan Skrip Lintas Situs (XSS)

Cross site scripting adalah salah satu serangan eksternal paling berbahaya yang dilakukan dengan memasukkan kode atau skrip berbahaya ke dalam situs web. Skrip ini dapat memengaruhi kinerja situs web dan sering digunakan untuk mencuri data.

Biasanya peretas memaksa akses ke situs web Anda. Tujuannya adalah untuk mendapatkan akses ke  cookies  ,  session  ,  history  , dan sebagainya. Dampak XSS tidak hanya dari sisi pemilik website, tetapi juga dari pengunjung website. Pengunjung biasanya akan mendapatkan tampilan website yang penuh dengan iklan atau bahasa asing yang tidak bisa dibaca.

  1. Pembajakan Sesi

Session hijacking adalah serangan yang sering digunakan oleh hacker untuk mengambil data berupa session ID Anda. Tujuannya adalah untuk mendapatkan akses akun yang diinginkan hacker. Misalnya, akun login situs web, database, dan data pengguna.

Dengan menggunakan ID sesi, peretas dapat memvalidasi sesi Anda. Anda melakukan ini dengan mengirimkan permintaan ke server. Kemudian cari  array $ _SESSION  untuk menemukan akun/data sesi tanpa sepengetahuan Anda. Cara ini biasanya dilakukan setelah melalui Cross Site Scripting (XSS).

  1. Pemalsuan Permintaan Lintas Situs (CSRF)

Dalam serangan pemalsuan permintaan lintas situs (CSRF), peretas dapat melakukan tindakan yang tidak diinginkan di situs web. Dengan menggunakan CSRF, hacker akan mendapatkan akses website secara penuh. sehingga peretas dapat memodifikasi data situs web atau memodifikasi fungsi program.

Serangan ini akan memaksa pengguna untuk mengubah permintaan, seperti mentransfer dana tanpa disadari atau bahkan menghapus semua data dalam database. Serangan CSRF hanya dapat terjadi ketika Anda mengklik tautan yang telah dikirim dan disamarkan oleh peretas.

Berikut ini adalah  permintaan GET   yang telah dimasukkan peretas ke dalam kode situs web Anda untuk mengirim uang ke akun lain.

DAPATKAN http://bank.com/transfer.do?acct=TIM&amount=100 HTTP/1.1

Sekarang, jika Anda mengklik tautan di bawah, Anda akan secara otomatis mengirim uang ke akun lain dengan jumlah yang ditunjukkan.

http://bank.com/transfer.do?acct=Dapit&amount=100000

Tautan ini biasanya dikirim melalui email yang disamarkan sebagai file atau gambar yang memungkinkan Anda mengklik file tersebut.

  1. Mencegah Serangan Injeksi SQL

Injeksi SQL adalah serangan paling umum pada skrip PHP. Satu permintaan kueri dapat membahayakan semua data situs web Anda. Dalam serangan ini, peretas biasanya akan mencoba mengubah data yang Anda kirim melalui kueri.

Misalkan Anda secara langsung memproses data pengguna dalam kueri SQL, dan tiba-tiba, peretas diam-diam menggunakan karakter yang berbeda untuk  mem- bypass  akun Anda. Artinya, akun peretas akan mengambil alih akses dari akun Anda.

Sebagai contoh, lihat kueri SQL di bawah ini.

$sql = “PILIH * FROM pengguna WHERE username = ‘” . $nama pengguna . “’;

Kueri  $ username  dapat berisi data yang dimodifikasi. Sehingga dari query tersebut dapat merusak database termasuk menghapus seluruh database hanya dalam sekejap mata.

7 Tips Keamanan PHP yang Harus Anda Ketahui

Nah, Anda sudah mengetahui berbagai jenis serangan terhadap keamanan PHP. Kini saatnya Anda mencari tahu berbagai cara untuk meningkatkan keamanan PHP.

Tips keamanan PHP di bawah ini kami tujukan untuk Anda yang baru memulai pengembangan website. Terutama bagi anda yang masih belajar tentang bahasa pemrograman PHP. Cara di bawah ini memang terkesan basic, tapi jangan remehkan efeknya.

  1. Gunakan htmlspecialchars

Untuk dapat melihat skrip yang mencurigakan dan  menghindari Cross-Site Scripting (XSS)  , gunakan  htmlspecialchars  dalam kode PHP Anda  Ini akan membantu Anda mengonversi karakter dalam bentuk PHP ke HTML. Sebagai contoh:

  • & (tanda “dan” atau  ampersand  ) → & amp;
  • ”( Kutipan ganda atau  ganda  ) → & quot;
  • ‘(  kutipan tunggal  ) → & # 039;
  • <(tandatangani kurang dari atau  kurang dari  n) → & lt;
  • > (  lebih besar dari  atau  lebih besar dari  tanda ) → & gt;

Anda juga dapat menggunakan  ENT_QUOTES  dalam kode situs web Anda. ENT_QUOTES  akan mengubah tanda petik tunggal dan ganda (“dan ‘) menjadi bentuk HTML. Dengan begitu, Anda dapat lebih mudah memeriksa skrip yang mencurigakan.

  1. Simpan Sesi dengan IP 

Untuk mencegah  pembajakan sesi  , Anda harus selalu menyimpan sesi dengan alamat IP khusus yang sering Anda gunakan. Caranya, tambahkan kode ini ke dalam skrip Anda.

$IP = getenv(“REMOTE_ADDR” );

Metode ini dapat membantu Anda untuk membatalkan sesi setiap kali ada permintaan yang mencurigakan dan tanpa sepengetahuan Anda. Kode di atas juga akan memberikan informasi bahwa seseorang sedang mencoba mengakses sesi Anda.

3.Gunakan Objek Data PHP (PDO)

Untuk menghindari  serangan injeksi SQL  , Anda harus menggunakan  Objek Data PHP  atau PDO. PDO adalah ekstensi tambahan yang membantu Anda mengakses database dengan aman. Tidak peduli apa jenis database yang Anda gunakan.

Namun, PDO tidak dapat digunakan untuk mengedit SQL atau menambahkan fitur tertentu. Namun justru karena itu, Anda dapat menghindari serangan injeksi SQL.

  1. Sembunyikan File dari Browser

Framework PHP yang menggunakan arsitektur MVC (Model View Controller),  Laravel atau CodeIgniter  misalnya, memiliki tampilan direktori file yang terstruktur. Tidak semua file akan diproses oleh browser. Namun, file tersebut masih terlihat.

Di sini, masalahnya. Kebanyakan pengembang awam meletakkan semua file situs web di   direktori  root Ini memudahkan peretas untuk membobol data situs web penting. Karena browser dapat melihat semua file tersebut, maka akan mudah bagi hacker untuk memasukkan kode/script berbahaya ke dalam website Anda.

Solusinya, pindahkan file dari  folder root  ke folder   server publik . Tujuannya agar web browser tidak mudah melihat file-file penting dari website.

  1. Pengaturan Dokumen Root

Akar dokumen untuk aplikasi PHP apa pun di server mana pun harus disetel ke  direktori / var / www / html  sehingga pengguna dapat mengakses situs web Anda melalui browser. Namun dalam beberapa kasus, saat Anda mengembangkan API dengan kerangka kerja seperti Laravel dan CodeIgniter, Anda perlu memperbarui webroot ke   folder / public .

Tujuan pengaturan webroot ke  var / www / html / public  adalah untuk menyembunyikan file sensitif seperti .htaccess dan .env yang berisi  variabel lingkungan,  akses database, email, API pembayaran, dll.

  1. Selalu gunakan SSL

Semua browser web modern seperti Google Chrome, Firefox, Opera, dan lainnya, selalu menyarankan untuk menggunakan  protokol HTTPS  untuk situs web. Karena HTTPS menyediakan protokol akses yang aman dan terenkripsi untuk situs yang tidak dipercaya.

Sertifikat SSL juga memperkuat situs web Anda dari serangan XSS dan mencegah peretas menempelkan kode ke situs web Anda. Untuk mendapatkan sertifikat SSL Anda dapat mengikuti panduan pada  artikel SSL gratis  di blog kami.

  1. Perbarui PHP secara teratur

Saat ini, versi PHP paling stabil dan terbaru yang tersedia adalah  PHP 7.4.5  . Saya sarankan Anda harus memperbarui situs web Anda untuk menggunakan versi PHP terbaru.

Jika Anda masih menggunakan PHP 5.6 maka Anda akan mengalami banyak masalah dalam memperbarui PHP. Karena Anda juga perlu memperbarui kode situs web Anda dan mengubah beberapa fungsi logika seperti hashing kata sandi dan lainnya.

Jika Anda menggunakan PHPStorm maka Anda dapat menggunakan Inspeksi Kompatibilitas PHP 7, yang akan menunjukkan kode mana yang menyebabkan kesalahan.

Sekarang Apakah Anda Siap Melindungi Keamanan PHP?

Bahasa pemrograman PHP selalu rentan terhadap serangan eksternal. Tetapi jika Anda menggunakan tips keamanan PHP yang telah kami berikan di atas, Anda dapat dengan mudah mengamankan situs web Anda dari serangan peretas.

Terlepas dari tips keamanan PHP ini, ada banyak teknik yang dapat membantu Anda mengamankan situs web Anda dari serangan eksternal, seperti menggunakan  cloud hosting terbaik  yang memiliki fitur keamanan, perlindungan DdOS, perlindungan malware, SSL gratis, dan lainnya.