emka.web.id

hadapi dengan tenang jiwa, semua akan baik-baik saja


Submitted Form, baik dengan metode GET maupun POST perlu di filter. Filter ini digunakan untuk mencegah penggunaan berbagai teknik injeksi dan intrusi keamanan data, seperti SQL Injection, XSS dll. Ada beberapa solusi yang biasa saya gunakan.

Yang pertama, membuat fungsi PHP yang melakukan filter data yang dikirim tersebut:

function strfilter($input)
	{
	$input=trim($input);
	$input=strip_tags($input);
	$input=nl2br($input);
	$input=addslashes($input);
	$input=stripslashes($input);
	$input=str_ireplace("'", "%", $input);
	$input=str_ireplace( "''", '%', $input );
	$input=str_ireplace( '""', '%', $input );
	$query = preg_replace( '|(?<!%)%s|', "'%s'", $input );
	$input=htmlentities($input, ENT_QUOTES);
	$input=ltrim($input);
	$input=rtrim($input);
	return $input;
	}

Untuk penggunaanya cukup mudah:

$data_terfilter = strfilter($_POST['judul_berita');

Nah, solusi ini efektif jika digunakan pada form dengan elemen yang sedikit, jika terdiri dari banyak elemen cukup menyulitkan juga. Untuk itulah, buatlah sebuah fungsi baru yang digunakan untuk melakukan filtering form HTML secara keseluruhan.

function filter_submittedform($submitted_forms){
	$array = array();
	foreach(array_keys($submitted_forms) as $forms){
		$array[$forms] = strfilter($submitted_forms[$forms]);
	}
	return $array;
}

Untuk penggunaanya:

$data_post = filter_submittedform($_POST);
//atau
$data_get = filter_submittedform($_GET);

Balikan dari fungsi tersebut adalah sebuah array dengan isi yang telah terfilter. Sekarang anda bisa langsung melakukan pengolahan lebih lanjut array ini ke database tanpa perlu difilter lagi atau khawatir mengandung script injection.

Selamat mencoba!

Incoming search terms:

Tulisan Menarik Lainnya


2 Comments on “Belajar PHP: Melakukan filter Form HTML secara keseluruhan”

You can track this conversation through its atom feed.

  1. Rian says:

    Wah, mantap ni, Makasih banyak atas script validasinya, sangat membantu

    1. admin says:

      terimakasih

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>