Langsung ke konten utama

Mengenal PHP

 Mengenal  PHP

Saat kita mulai membuat aplikasi berbasis web dengan menggunakan PHP tentu kita akan berfokus pada cara pembuatannya, bagaimana mengimplementasikan logika sehingga menghasilkan suatu karya (sistem) yang berjalan sesuai dengan keinginan dan kebutuhan kita.
Tapi ada kalanya kita perlu membalik pola pikir tersebut dengan memandang sebagai seorang user (pengguna aplikasi) yang mungkin memiliki waktu lebih banyak dalam penggunaan aplikasi tersebut. Dalam hal ini banyak hal yang mungkin tidak kita perhatikan dari aplikasi buatan kita tersebut oleh karena itu ada pepatah “Tidak
ada sistem yang sempurna.” tetapi penulis akan memberikan sedikit informasi keamanan dasar sehingga kita bisa sedikit melangkah menuju kesempurnaan tersebut.
Beberapa hal yang perlu diperhatikan dalam langkah percobaan para cracker untuk memboikot akses website kita antara lain :
1.  Melalui URL (method GET)
2. Melalui media input yang terdapat dalam form (method POST)

Sebagaimana kita ketahui bahwa terdapat 2 cara umum pengiriman variable dalam PHP yaitu GET dan POST sehingga perlu penanganan khusus dalam penerimaan serta pengiriman variable tersebut.
Untuk method POST :
Method POST merupakan penangkapan variable dari media input yang terdapat dalam FORM.
1. Batasi jumlah karakter (maxlength)
Pembatasan jumlah karakter dalam media input sangat penting sehingga tidak dimungkinkan penulisan script seperti javascript pada inputbox tersebut.
Contoh implementasi :
Titik rawan : Input Login (username dan password), Input search
2. Lapisi dengan penahan kutip atau addslashes()
Fungsi PHP ini akan membantu kita menambahkan tanda kutip (’) pada setiap karakter garing (/) sehingga dapat mencegah timbulnya efek SQL injection. Saya rasa teknik hacking ini cukup populer diantara anda. Penambahan kutip akan membuat garing menjadi bertipe string sehingga tidak dianggap sebagai salah satu perintah query pada MySQL / SQL.
Contoh implementasi : addslashes($_POST['_username'])
Titik rawan : Form Login
3. Lapisi dengan penahan tag atau htmlspecialchars()
Untuk mencegah terjadinya teknik hacking xss atau javascript injection maka ada baiknya kita menambahkan fungsi tersebut. Hal ini akan membuat tag html maupun javascript memiliki tipe data string sehingga tidak akan dieksekusi oleh browser.
Apabila script dimungkinkan dalam media input sehingga masuk ke dalam database dan saat browser membuka halaman yang terkontaminasi tersebut maka browser akan melakukan eksekusi terhadap perintah tersebut yang biasanya dalam bentuk javascript.
Contoh implementasi : htmlspecialchars($_POST['pesan'])
Titik rawan : Form Login, Form Kontak Admin
4. Perhatikan nama media input
Sudah saatnya kita berusaha sedikit lebih unik dalam menentukan nama pada media input kita sehingga mempersulit beberapa tools penjahat yang menggunakan library (kamus kata) dalam penentuan nama variable incarannya. Misalnya pada media input login tambahkan garis bawah. Tentu anda memiliki ide sendiri dalam
mengimplementasikan hal ini.
Contoh implementasi :
Titik rawan : Input Login (username dan password)
Untuk method GET :
Method get merupakan penangkapan variable yang berasal dari URL.
1. Gunakan .htaccess
Sebenarnya ini adalah sebuah metode yang menjadikan website kita seakan memiliki
struktur direktori yang luas, padahal itu adalah variable. Sehingga memecah
konsentrasi dari pengunjung yang berniat isenk. Bila halaman tidak ditemukan maka
kita dapat meredirectnya ke halaman 404 kesayangan kita.
Implementasi :


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]

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



2. Hindari $_REQUEST()
Metode ini digunakan untuk menangkap variable dalam bentuk POST dan GET. Ada kalanya kita membutuhkan metode penerimaan variable dengan menggunakan fungsi ini, tetapi batasilah penggunaannya karena tanpa disadari suatu saat anda akan mendapatkan masalah karena hal ini. Dan bila kita telah terlanjur menggunakannya pada seluruh aplikasi kita maka kita akan sulit untuk merubah (Bisa, dengan memilah mana yang tidak perlu dan benar-benar menggunakan.).
Tambahan :
1. Session dan Cookies timeout
Gunakan timeout pada session atau cookies terutama untuk pengenalan login. Session merupakan penanda dari sisi server dan akan hilang apabila browser ditutup, sedangkan cookies adalah pengenalan dari sisi browser dan bila tidak diset timeout maka status akan terus login (pada pengenalan login.), tentu saja anda tau kemungkinan-kemungkinan yang akan terjadi selanjutnya.

Postingan populer dari blog ini

Konfigurasi dan Instalasi TCP/IP Windows Server 2003

Konfigurasi dan Instalasi TCP/IP Windows Server 2003 Di sini saya akan mendeskripsikan prosedur untuk menginstal dan mengonfigurasi TCP/IP Microsoft Windows Server 2003. Ikuti prosedur ini jika Anda sebelumnya tidak menginstal protocol jaringan TCP/IP pada komputer yang sedang Anda pakai untuk mengerjakan prosedur-prosedur latihan selama kursus ini. 1. Menginstal TCP/IP TCP/IP dapat dipakai dalam lingkungan jaringan yang bervariasi mulai dari LAN yang kecil sampai Internet global. Ketika Anda mengoperasikan Windows 2003 Setup, TCP/IP diinstal sebagai default protocol jaringan bila suatu adapter jaringan dideteksi. Oleh karena itu, Anda hanya perlu menginstal protocol TCP/IP kalau default pilihan protocol TCP/IP ditindih selama proses setup atau Anda sudah menghapusnya dari suatu koneksi di dalam Network and Dial-Up Connections. 1.1. Menginstal Protocol TCP/IP Pada latihan ini, Anda akan menginstal TCP/IP pada Local Area Network Connection in Network and Dial-Up Connections. Anda h...

Adobe Photoshop Cs4

Adobe Photoshop Adobe Photoshop CS4 Extended di Windows Pengembang Adobe Systems Versi rilis terbaru CS4 (11.0) / 15 Oktober 2008 Versi pratayang terbaru CS5 beta (12.0) / 15 Desember 2006 Sistem operasi Mac OS X, Microsoft Windows Jenis Editor gambar raster Situs web adobe.com/products/photoshop Adobe Photoshop, atau biasa disebut Photoshop, adalah perangkat lunak editor citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar, dan, bersama Adobe Acrobat, dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS (Creative Suite), versi sembilan disebut Photoshop CS2, versi sepuluh disebut Adobe Photoshop CS3 , dan versi yang terakhir (kesebelas) adalah Adobe Photoshop CS4. Photoshop tersedia untu...
MikroTik RouterOS MikroTik RouterOS™ adalah sistem operasi dan yang dapat digunakan untuk menjadikan komputer manjadi router network yang handal, mencakup berbagai fitur lengkap untuk network dan wireless. Kemudian di extrack dan kemudian burn ke CD itu file ISO nya. 1. Install Mikrotik OS – Siapkan PC, minimal Pentium I juga gak papa RAM 64,HD 500M atau pake flash memory 64 – Di server / PC kudu ada minimal 2 ethernet, 1 ke arah luar dan 1 lagi ke Network local – Burn Source CD Mikrotik OS masukan ke CDROM – Boot dari CDROM – Ikuti petunjuk yang ada, gunakan syndrom next-next dan default – Install paket2 utama, lebih baiknya semua packet dengan cara menandainya (mark) – Setelah semua paket ditandai maka untuk menginstallnya tekan “I” – Lama Install normalnya ga sampe 15menit, kalo lebih berarti gagal, ulangi ke step awal – Setelah diinstall beres, PC restart akan muncul tampilan login 2. Setting dasar mikrotik Langkah awal dari semua langkah konfigurasi mikrotik adalah setting i...