Tips PHP : Cara Meningkatkan Keamanan Website Kita Dengan PHP

Posted on

Terkadang kita sering lupa atau bahkan tak memikirkan keamanan website yang kita bikin. Keamanan PHP web Dikala kita mulai membangun program dengan web dengan menggunakan PHP tentu kita akan berfokus di cara pembuatannya, bagaimana mengimplementasikan logika sehingga menghasilkan suatu karya aplikasi yang berjalan sesuai dengan keinginan dan keperluan kita.

akan tetapi ada kalanya kita perlu membalik pola pikir tersebut dengan memandang selaku seorang user (pengguna program) yang mungkin mempunyai waktu lebih banyak pada pemakaian program tersebut. Pada hal ini banyak hal yang mungkin tak kita perhatikan dari program buatan kita tersebut oleh karena itu ada pepatah “Tak ada aplikasi yang sempurna.” tetapi penulis akan memberikan sedikit informasi keamanan basic sehingga kita dapat sedikit melangkah menuju kesempurnaan tersebut.

Beberapa hal yang perlu diperhatikan pada langkah percobaan para cracker bagi memboikot akses situs kita antara lain :

1. Via URL (method GET)
2. Via media input yang terdapat pada form (method POST)
Seperti yang kita bahas sebelumnya  bahwa terdapat 2 cara umum pengiriman variable pada PHP yaitu GET dan POST sehingga perlu penanganan khusus pada penerimaan serta pengiriman variable tersebut.
Bagi method POST :
Method POST ini sering dugunakan bagi menangkap variable dari media input yang terdapat pada FORM.
Nah, dengan bahan pertimbangan yang diatas karenanya ada beberapa tips agar web kita sedikit aman dari serangan cracker, Apa ?? sedikit aman ?? tentu sahabat bertanya demikian, kenapa saya mengatakan demikian, karena seperti yang saya katakan  tadi bahwa tak ada aplikasi yang sempurna. Jadi yang saya berikan dibawah ini akan benar-benar menolong web sahabat bagi mendekati aplikasi yang sempurna.

1. Batasi jumlah karakter (maxlength)

Pembatasan jumlah karakter pada media input benar-benar urgen sehingga tak dimungkinkan penulisan script seperti javascript di inputbox tersebut.

Contoh implementasi : <input name=”_cari” maxlength=”10? />

Titik rawan : Input Login (username dan password), Input search

2. Lapisi dengan penahan kutip atau addslashes()

Guna PHP ini akan menolong kita menambahkan tanda kutip (‘) di setiap karakter garing (/) sehingga dapat mencegah timbulnya efek SQL injection. Saya rasa teknik hacking ini lumayan populer diantara sahabat. Penambahan kutip akan membangun garing menjadi bertipe string sehingga tak dianggap selaku diantara petunjuk query di MySQL / SQL.

Contoh implementasi : addslashes($_POST[‘_username’])

Titik rawan : Form Login

3. Lapisi dengan penahan tag atau htmlspecialchars()

Bagi mencegah terjadinya teknik hacking xss atau javascript injection karenanya ada baiknya kita menambahkan guna tersebut. Hal ini akan membangun tag html maupun javascript mempunyai tipe data string sehingga tak akan dieksekusi oleh browser.
Apabila script dimungkinkan pada media input sehingga masuk ke pada database dan dikala browser membuka halaman yang terkontaminasi tersebut karenanya browser akan mengerjakan eksekusi kepada petunjuk tersebut yang biasanya pada format javascript.

Contoh implementasi : htmlspecialchars($_POST[‘pesan’])

Titik rawan : Form Login, Form Kontak Admin

4. Perhatikan nama media input Web sahabat

Telah saatnya kita berusaha sedikit lebih unik pada menentukan nama di media input kita sehingga mempersulit beberapa tools penjahat yang menggunakan library (kamus kata) pada penentuan nama variable incarannya. Misalnya di media input login tambahkan garis bawah. Tentu sahabat mempunyai ide sendiri pada mengimplementasikan hal ini.

Contoh implementasi : <input name=”_username” />

Titik rawan : Input Login (username dan password)

Bagi method GET :

Method get adalah sebuah penangkapan variable yang berasal dari URL.

1. Gunakan .htaccess

Hakekatnya ini yakni sebuah sistem yang menjadikan situs kita seakan mempunyai struktur direktori yang luas, padahal itu yakni variable. Sehingga memecah konsentrasi dari pengunjung yang berniat isenk. Bila halaman tak ditemukan karenanya kita dapat meredirectnya ke halaman 404 kesayangan kita.
Implementasi :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]
</IfModule>

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com/$1 [L,R=301]

2. Hindari $_REQUEST()

Cara ini digunakan bagi menangkap variable pada format POST dan GET. Ada kalanya kita membutuhkan sistem penerimaan variable dengan menggunakan guna ini, tetapi batasilah penggunaannya karena tanpa disadari suatu dikala sahabat akan memperoleh masalah karena hal ini. Dan bila kita telah terlanjur menggunakannya di seluruh program kita karenanya kita akan sulit bagi merubah (Dapat, dengan memilah mana yang tak perlu dan benar-benar menggunakan.).

Tambahan :

1. Session dan Cookies timeout

Gunakan timeout di session atau cookies terutama bagi pengenalan login. Session adalah sebuah penanda dari sisi server dan akan hilang apabila browser ditutup, sedangkan cookies yakni pengenalan dari sisi browser dan bila tak diset timeout karenanya status akan terus login (di pengenalan login.), tentu saja sahabat tau kemungkinan-kemungkinan yang akan terjadi berikutnya.

Selamat menerapkannya di situs atau blog kita masing-masing.

Leave a Reply

Your email address will not be published. Required fields are marked *