Jumat, 01 November 2013

FUNGSI PHP ! AMANKAN VARIABEL FORM

Book PHP
Let's Learn Again
Disusun oleh : Ikhwan Anshori
Assalamualaikum Warahmatullahi Wabarakatuh J








Pendahuluan
Salah satu pertanyaan ketika kita hendak mengirimkan string yang didapat dari from user ke dalam database adalah, sudahkah string tersebut aman?. Pasalnya tidak semua string yang dimasukkan oleh user adalah string yang valid, bisa jadi string yang dimasukkan adalah karakter atau simbol – simbol yang dapat mempengaruhi query saat disimpan. Untuk mengatasi string yang salah atau mengandung kode – kode yang dapat mempengaruhi kinerja sistem, maka PHP menyediakan beberapa fungsi untuk mengamankan string agar ketika dilakukan query tidak menyebabkan kesalahan.

Fungsi PHP
Beberapa fungsi PHP untuk mengamankan string seperti fungsi htmlentities(),  addslashes(),  dan strip_tags(). Ketiga fungsi tersebut sering digunakan untuk mengamankan string ketika akan dimasukkan kedalam database. Meskipun ketiga fungsi tersebut mempunyai “maksud” yang sama yaitu mengamankan string, namun ketiga fungsi memiliki “caranya” sendiri – sendiri dalam beraksi.

Fungsi htmlentities()
Fungsi htmlentities() digunakan untuk mengamankan tag – tag html yang terdapat pada sebuah string dengan mengubah kurung lancip buka “<” menjadi tag html &lt; sedangkan untuk kurung tutup “> diubah menjadi tag &gt;. Karena pengubahan ini, ketika string ditampilkan dihalaman browser maka tag – tag html yang dibawa string tidak akan memberikan pengaruh, dan akan ditampilkan apa adanya.

Htmlentities.php
<?php
// misal string
$string = "<b>tebal</b>";

// proses filter
$filter = htmlentities($string);

// tampilkan hasil
echo $filter;
?>

Output :
<b>tebal</b>

Untuk hasil bukan tampil dibrowser string tebal, justeru sebaliknya string akan ditampilkan sama persis ketika ia dimasukkan.

Fungsi Strip_tags()
Fungsi ini mirip dengan fungsi sebelumya yaitu untuk memfilter tag html. Bedanya fungsi ini lebih “tegas” dengan secara otomatis akan “menggunduli” tag – tag html yang dibawa sebuah string sehingga string benar – benar bersih tanpa tag html. Fungsi ini cocok digunakan untuk input seperti nama, email, atau data yang lainya yang tidak memerlukan tag html.

Strip_tags.php
<?php
// fungsi strip_tags()
// misal string
$string = "<b>tebal</b>";

// proses filter
$filter = strip_tags($string);

// tampilkan hasil
echo $filter;
?>

Output :
tebal

Fungsi addslashes()
Fungsi ini berbeda dengan 2 fungsi sebelumnya, fungsiini bekerja dengan memberikan tanda “\” sebelum simbol single quote ( ‘ ). Filter untuk simbol ini penting dilakukan sebelum string dimasukkan kedalam database, jika tidak misalkan user memasukkan nama “fu’ad”, kemudian nama tersebut dibawa menjadi sebuah string untuk dilakukan query insert, sedang dalam string tersebut memuat simbol single quote. Simbol ini dapat mengacaukan query yang ada.
Misalkan kita mempunyai query “insert into nama_tabel (nama) values(‘ $string_nama‘)” nah seandainya nama fu’ad dimuat dalam query yang terjadi adalah “insert into nama_tabel  (nama) values(‘ fu’ad‘)” lihat pada bagian ‘fu’ad’ simbol single quote dalam query adalah sebuah tanda dari string, nah kalau sampai hal ini terjadi, berarti dalam query terjadi jumlah single quote yang ganjil, ini akan menyebabkan error.
Fungsi addslashes() bekerja seperti :

Addslashes.php
<?php
// fungsi addcslashes()
// misal string
$string = "fu'ad";

// proses filter
$filter = addslashes($string);

// tampilkan hasil
echo $filter;
?>

Output :
Fu\’ad

Simbol “\” didepan simbol single quote ( ‘ ) menjadikan simbol single quote tidak dianggap didalam query sehingga tidak menyebabkan error.

Catatan :
Fungsi addslashes() akan membuat string yang mengandung single quote menjadi seperti output diatas, yaitu terdapat simbol “\” didepan single quote. Ini berlanjut hingga data dimasukkan kedalam database. Untuk mengatasi hal tersebut maka digunakan fungsi stripslashes(). Fungsi ini akan secara otomatis menghilangkan simbol “\” sehingga string dari database dapat ditampilkan ke keadaan semula.


Sekian pembahasan mengenai beberapa fungsi PHP yang sering digunakan untuk mengamankan string yang didapat dari form maupun dari URL. Untuk membuat string lebih aman anda dapat menggabungkan beberapa fungsi sekaligus (dipakai bersamaan), ini akan membuat string lebih bersih. Semoga dapat bermanfaat. 
Like This Article ?

0 komentar

Posting Komentar

Cari sesuatu?

Teman

 
 
Copyright © 2013 goldenbooks - All Rights Reserved
Golden Books - Powered By Blogger