belajar membuat website

Fungsi – fungsi untuk memfilter input form

Klik Disini, jika ada Link Rusak / Kode Tidak Jalan


trim() digunakan untuk menghapus spasi di kanan dan kiri teks.
htmlentities() digunakan untuk mengkonversi karakter-karakter tertentu dalam tag HTML, emm..kok ribet ya, pokoknya hasil fungsi ini akan menerjemahkan tag-tag HTML sebagai teks biasa.
strip_tags digunakan untuk menghilangkan tag-tag HTML dan PHP dalam sebuah string.

Ketiga fungsi di atas bisa digunakan untuk memfilter input/masukan form pada website kita, misalnya pada form buku tamu. Untuk contoh penggunaannya, siapkan file2 berikut:

1. database

create database db_gb ;
use db_gb;
create table guestbook (id int unsigned not null primary key auto_increment,
nama varchar(50) not null, email varchar(100) not null, pesan text not null)

2. file koneksi.php
<?php
$host=”localhost”; $uname=”root”; $pass=””; $db=”db_gb”;
$koneksi=mysql_connect($host,$uname,$pass);
mysql_select_db($db,$koneksi);
?>

3. file gb.html

<form method=”post” action=”proses.php”>
Nama *<br><input type=”text” name=”nama” size=”34″><br>
Email *<br><input type=”text” name=”email” size=”34″><br>
Pesan *<br><textarea name=”pesan” rows=”8″ cols=”40″></textarea>
<br>*) Wajib diisi <br>
<input type=”reset” value=”Reset” name=”kosongkan”>
<input type=”submit” value=”Kirim” name=”kirim”>
</form>
<p><a href=”lihatgb.php”>[ Lihat Data Tamu ]</a>

4. file proses.php
<?php
include’koneksi.php';
if(isset($_POST['kirim']) && ($_POST['kirim']===’Kirim’))
{????
??? /*— filter input dg kombinasi fungsi trim dan strip_tags —*/

??? $nama=trim(strip_tags($_POST['nama']));
????
??? $email=trim(strip_tags($_POST['email']));
????
??? $pesan=trim(strip_tags($_POST['pesan']));
????
???
??? /*— filter input dg kombinasi fungsi trim dan htmlentities —*/
????
??? /*
????
??? $nama=trim(htmlentities($_POST['nama']));
??? $email=trim(htmlentities($_POST['email']));???? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??
??? $pesan=trim(htmlentities($_POST['pesan']));
????
*/

??? /* ———————- tanpa filter ————————*/
??? /*
????
??? $nama=$_POST['nama'];
???
??? $email=$_POST['email'];
??? $pesan=$_POST['pesan'];
??? */???????

?if(($nama==”) || ($email==”) || ($pesan==”))
?$error= “Data tidak lengkap.<br>”;

?if(($nama!=”) && ($email!=”) && ($pesan!=”))??
?{? $queryAddGb=mysql_query(“insert into guestbook
??? values(NULL,’$nama’,’$email’,’$pesan’)”);
??? if($queryAddGb)?????
??? {? echo”<font color=red><b>Guestbook berhasil disimpan</b></font>”;
?????? echo”<meta http-equiv=\”refresh\” content=\”2; url=./gb.html\”>”;
?????? exit; }?????
?????? else
?????? {? echo”<font color=red><b>Data gagal disimpan</b></font>”;
????????? echo”<meta http-equiv=\”refresh\” content=\”2; url=./gb.html\”>”;
????????? exit; }
???? }

???? if(isset($error))
???? {? echo”<font color=red><b>$error</b></font>”;
??????? echo”<meta http-equiv=\”refresh\” content=\”2; url=./gb.html\”>”;
?????? ?exit; }

}?>

5. file lihatgb.php
<?php
include’koneksi.php';
$queryGb = mysql_query(“select * from guestbook”);
$jmlGb = mysql_num_rows($queryGb);
if($jmlGb==0)
{? echo”Data tamu masih kosong”; }
else
{ $queryTampil=mysql_query(“select * from guestbook order by id desc”);
? echo”<p>DATA TAMU<p>”;
? while($dataGb=mysql_fetch_row($queryTampil))?
? {? echo””.wordwrap($dataGb[1],70,”<br>”,1).”<br>”;
???? echo””.wordwrap($dataGb[3],85,”<br>”,1).” “;
????
echo”<hr width=60% align=left>”; }}????
?>

Ok, setelah semua siap mari kita coba menginputkan data buku tamu. Misal :

Percobaan 1
Masukkan spasi yang banyak pada semua data nama, email dan pesan. Misal, tekan tombol spasi mpe 100X , he..he…. Hasilnya, akan keluar pesan data tidak lengkap. Mengapa begitu? Karena sebelum divalidasi, inputan spasi akan dihilangkan oleh fungsi trim. Akibatnya data akan kosong dan keluarlah pesan data tidak lengkap.

Percobaan 2
Masukkan data berikut:
Nama : <b><i><u>Phii</u></i></b>
Email : phii@poesing.bgt
Pesan : <b><font color=red>Ayo belajar PHP, biar bisa bikin web sendiri</font></b>

Setelah berhasil menginputkan data, silahkan klik [ lihat data tamu ]. Hasilnya, tag2 HTML akan dilenyapkan. Kenapa bisa hilang? Karena sebelum divalidasi, tag2 HTML akan dilenyapkan oleh fungsi strip_tags, sehingga yang akan tersimpan dalam tabel adalah string yang bersih dari tag2 HTML.

Percobaan 3
Jadikan komentar pada bagian script filter yang menggunakan trim dan strip_tags. Lalu, hilangkan komentar pada script filter yang menggunakan trim dan htmlentities.
Masukkan data yang sama dengan percobaan 2. Hasilnya, tag2 HTML akan ditampilkan, tapi hanya sebagai teks biasa. Mengapa begitu? Karena sebelum divalidasi, tag2 HTML akan difilter oleh fungsi htmlentities, sehingga hanya akan ?dibaca sebagia string biasa.

 

Percobaan 4
Jadikan komentar pada bagian script filter yang menggunakan trim danhtmlentities.
Kali ini, kita akan menginputkan data tanpa fliter, maka hilangkan komentar pada script tanpa filter. ??? ??? ??? ? Inputkan data sama seperti percobaan 1. Hasilnya? Lihat sendiri ya? Setelah itu inputkan data sama ??? ??? ??? ? seperti percobaan 2. Hasilnya? Lihat sendiri juga ya.he…he..

Teman2 bisa donlot scriptnya disini

Kesimpulan, ketiga fungsi di atas bisa kita gunakan untuk menyaring atau memfilter masukan terhadap form ??? di web kita, terutama dari pengunjung web kita yang doyan banget nginjek eh..maksudnya nginject form ??? ??? dengan HTML injection

*)?? Kalo mo nyoba percobaan 4 dg kode HTML yang bisa digunakan untuk deface, tanyakan saja pada Al-k
*)?? Untuk data email, silahkan ditambahkan sendiri validasinya, kaya?e dah pernah dibahas Cari sendiri ya

Ilmuwebsite Offline (Mempelajari Dunia Web Development dan Web Design Jauh Lebih Mudah)

Ingin tau lebih jelas,cara membuat website dinamis atau cara membuat aplikasi berbasis website? Klik disini Anda akan jauh lebih mudah dan terstruktur dalam mempelajari web design dan web development, 1. HTML CSS, 2. JQUERY, 3. PHP MySQL, 4. CodeIgniter, 5. Joomla dan 6. WordPress. Materi berupa video tutorial, contoh kasus, file latihan, yang bisa mengantarkan Anda menuju web developer handal!


Masukkan Komentar di sini :

Powered by Google+ Comments

eXTReMe Tracker