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.
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() digunakan untuk mengamankan tag – tag html yang terdapat pada
sebuah string dengan mengubah kurung lancip buka “<” menjadi tag html <
sedangkan untuk kurung tutup “>” diubah
menjadi tag >. 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
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.
Anda baru saja membaca artikel yang berkategori Function in PHP /
PHP /
Programming /
XAMP
dengan judul "FUNGSI PHP ! AMANKAN VARIABEL FORM". Anda bisa bookmark halaman ini dengan URL https://3goldenbooks.blogspot.com/2013/11/fungsi-php-amankan-variabel-form.html.
0 komentar
Posting Komentar