7 Tips PHP Security yang Wajib Kalian Ketahui – PHP adalah salah satu bahasa pemrograman back-end dan sangat populer di kalangan pengembang. Karena PHP adalah bahasa pemrograman open source, ia memiliki struktur yang baik dan mudah digunakan.

7 Tips PHP Security yang Wajib Kalian Ketahui
Source : webslesson.info

Namun, ketika Anda memilih pemrograman PHP sebagai backend situs web Anda, Anda perlu memperhatikan keamanan program PHP yang Anda buat. Tujuannya agar setiap website yang Anda buat tidak gampang di-hack.

Biasanya, peretas menargetkan data pribadi milik pengunjung, atau menjual produk ilegal di situs Anda tanpa sepengetahuan Anda, mencuri dana dari transaksi yang Anda lakukan, dan menampilkan iklan yang memperlambat situs Anda.

Untungnya, ada banyak dari beberapa solusi untuk meningkatkan keamanan PHP Anda. Inilah yang akan javascriptoo bahas dalam panduan ini. Untuk memudahkan Anda, kami akan menjelaskan beberapa serangan terhadap PHP dan memberikan solusi untuk menghindari serangan PHP.

3+ Contoh Serangan Yang Sering Terjadi pada PHP

Berikut penjelasan empat contoh serangan PHP. Dari empat contoh ini, kami berharap dapat membantu Anda memahami cara menyerang PHP.

1. Cross-Site Scripting (XSS)

Cross-Site Scripting (XSS)
Source : imperva.com

Cross site scripting merupakan serangan jalur eksternal yang paling berbahaya dilakukan dengan memasukkan kode ataupun skrip berbahaya ke dalam situs web. Skrip ini memengaruhi kinerja situs web dan sering digunakan untuk mencuri data.

Biasanya, peretas meminta akses paksa ke situs web Anda. Tujuannya adalah untuk mendapatkan akses ke cookie, sesi, riwayat, dll. Dampak XSS tidak hanya datang dari pemilik website, tapi juga dari pengunjung website. Pengunjung biasanya melihat iklan tak terlihat atau bahasa asing di situs web.

2. Session Hijacking

Session Hijacking
Source : netsparker.com

Session hijacking adalah serangan yang sering digunakan oleh peretas, yang mengambil data dalam bentuk ID sesi Anda. Tujuannya adalah untuk mendapatkan akses ke akun yang diinginkan peretas. Misalnya, akun login website, database dan data pengguna.

Dengan menggunakan ID sesi, peretas dapat memverifikasi sesi Anda. Anda dapat melakukan ini dengan mengirimkan permintaan ke server. Kemudian telusuri larik $ _SESSION untuk menemukan akun / data sesi yang tidak Anda ketahui. Metode ini biasanya dilakukan setelah selesainya pembuatan skrip lintas situs (XSS).

3. Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF)
Source : medium.com

Dalam serangan Cross site request forgery (CSRF), peretas dapat melakukan tindakan berbahaya di situs web. Dengan menggunakan CSRF, peretas akan mendapatkan akses situs web yang lengkap. Sehingga peretas bisa langsung memodifikasi data situs web atau memodifikasi fungsi program.

Serangan semacam ini akan memaksa pengguna untuk mengubah permintaan, seperti mentransfer dana tanpa memenuhinya, atau bahkan menghapus semua data di database. Serangan CSRF hanya terjadi ketika Anda mengklik tautan yang telah dikirim dan ditutup-tutupi oleh peretas.

Baca Juga : Tips Memperbaiki Render-Blocking JavaScript Dan CSS

Berikut ini adalah peretas telah memasukkan permintaan GET ke dalam kode situs web Anda untuk mentransfer dana ke akun lain.

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

Sekarang, jika Anda mengklik tautan di bawah ini, Anda akan secara otomatis menyetorkan uang ke akun lain sesuai dengan jumlah yang ditentukan.

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

Tautan ini biasanya dikirim melalui email yang disamarkan sebagai file atau gambar, sehingga Anda dapat mengeklik file tersebut.

4. Prevent SQL Injection Attacks

Prevent SQL Injection Attacks
Source : kratikal.com

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

Misalkan Anda memproses atau menyimpan data pengguna didalam kueri SQL, dan secara tiba-tiba, peretas menggunakan karakter lain untuk melewati akun Anda. Artinya secara langsung akun peretas akan mengambil alih izin akses ke akun Anda.

Untuk contoh, lihat kueri SQL di bawah ini.

$sql = "SELECT * Nama pengguna dari pengguna = '" . $username . "';

Kueri $ username dapat berisi data yang dimodifikasi. Oleh karena itu, dimungkinkan untuk merusak database melalui query ini, termasuk menghapus seluruh database dalam sekejap.

7 Tips PHP Security yang Wajib Anda ketahui

Nah, Anda sudah tahu tentang berbagai serangan terhadap keamanan PHP. Sekarang saatnya mencari berbagai cara untuk meningkatkan keamanan PHP.

Kami memberikan tips keamanan PHP berikut untuk Anda yang baru saja memulai pengembangan situs web. Sangat cocok untuk mereka yang masih belajar bahasa pemrograman PHP. Cara berikut ini memang sangat mendasar, tapi tolong jangan remehkan efeknya.

1. Gunakan htmlspecialchars

Gunakan htmlspecialchars
Source : javatpoint.com

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

  • & (tanda “dan” atau ampersand) → &
  • ” (tanda petik dua atau double quote) → "
  • ‘ (tanda petik satu atau single quote) → '
  • < (tanda kurang dari atau less than) → &lt;
  • > (tanda lebih dari atau greater than) → &gt;

Anda juga dapat menggunakan ENT_QUOTES di kode situs web. ENT_QUOTES akan mengubah tanda kutip tunggal dan tanda kutip ganda (‘dan”) menjadi HTML. Dengan cara ini, Anda dapat lebih mudah memeriksa skrip yang mencurigakan.

2. Simpan Session dengan IP 

Simpan Session dengan IP
Source : linuxteknosia.net

Untuk mencegah pembajakan sesi, Anda harus selalu menggunakan alamat IP khusus yang biasa digunakan untuk menyimpan sesi. Triknya adalah menambahkan kode ini ke skrip.

$IP = getenv ( "REMOTE_ADDR" );

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

3. Gunakan PHP Data Objects (PDO)

Gunakan PHP Data Objects (PDO)
Source : padsite.blogspot.com

Untuk menghindari serangan injeksi SQL, objek data PHP atau PDO harus digunakan. PDO adalah ekstensi lain yang membantu Anda mengakses database dengan aman. Tidak masalah database mana yang digunakan.

Namun, PDO ini tidak dapat digunakan untuk mengedit SQL atau menambahkan fungsi tertentu. Tetapi karena ini, Anda dapat menghindari serangan injeksi SQL.

4. Sembunyikan File dari Browser

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

Baca Juga : 4 Aplikasi Browser Anti Blokir Terbaik Tercepat Android dan PC

Di sini, masalahnya ada di sini. Sebagian besar pengembang non-profesional meletakkan semua file situs web di direktori root. Ini mempermudah peretas untuk menyerang data situs web penting. Karena lewat browser hacker dapat melihat semua file ini, mudah bagi peretas untuk memasukkan kode atau skrip berbahaya ke situs web Anda.

pasted image 0

Solusinya adalah dengan memindahkan file dari folder root ke folder server publik. Tujuannya adalah agar browser web tidak dapat dengan mudah melihat file penting dari situs web.

5. Pengaturan Root Document

Pengaturan Root Document
Source : komunitasbelajarkomputer.blogspot.com

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

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

6. Selalu gunakan SSL

Semua browser web modern (seperti Google Chrome, Firefox, Opera, dll.) Selalu merekomendasikan penggunaan protokol HTTPS untuk situs web. Karena HTTPS telah menyediakan protokol akses yang sangat aman dan terenkripsi untuk situs tidak tepercaya.

Sertifikat SSL dapat meningkatkan kemampuan situs web Anda untuk menghindari serangan XSS dan mencegah peretas menempel kode ke situs web Anda. Untuk mendapatkan sertifikat SSL, Anda dapat mengikuti pedoman di artikel SSL gratis di blog kami.

7. Update PHP secara teratur

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

Jika Anda masih menggunakan PHP 5.6, Anda akan menemui banyak masalah saat memperbarui PHP. Karena Anda juga perlu mengupdate kode website dan mengubah beberapa fungsi logika, seperti hashing password dan fungsi lainnya.

Jika Anda menggunakan PHPStorm, Anda dapat menggunakan pemeriksaan kompatibilitas PHP 7, yang akan menunjukkan kepada Anda kode yang menyebabkan kesalahan.

Sekarang Anda TElah Siap Melindungi Keamanan PHP ?

Bahasa pemrograman PHP dikenal selalu rentan terhadap serangan. Namun, jika Anda menggunakan tip keamanan PHP yang disediakan di atas, Anda dapat dengan mudah melindungi situs web Anda dari peretas.

Selain tips keamanan PHP ini, ada banyak teknik untuk membantu Anda melindungi situs web Anda dari serangan eksternal, seperti kalian bisa menggunakan cloud hosting terbaik dengan fitur keamanan, perlindungan DdOS, perlindungan malware, SSL gratis, dan fitur lainnya.